150.3. HTTP 选项
HTTP 组件支持 8 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
httpClientConfigurer (advanced) | 要使用自定义 HttpClientConfigurer 执行要使用的 HttpClientConfigurer 的配置。 | HttpClientConfigurer | |
httpConnectionManager (advanced) | 使用自定义 HttpConnectionManager 来管理连接 | HttpConnectionManager | |
httpBinding (producer) | 使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。 | HttpBinding | |
httpConfiguration (producer) | 将共享的 HttpConfiguration 用作基础配置。 | HttpConfiguration | |
allowJavaSerialized Object (producer) | 当请求使用 context-type=application/x-java-serialized-object This is default off 时,是否允许 java 序列化。如果启用此选项,则 Java 会将传入数据从请求反序列化到 Java,这可能会成为潜在的安全风险。 | false | 布尔值 |
useGlobalSslContext Parameters (security) | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
HTTP 端点使用 URI 语法进行配置:
http:httpUri
http:httpUri
使用以下路径和查询参数:
150.3.1. 路径参数(1 参数): 复制链接链接已复制到粘贴板!
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
httpUri | 必需 要调用的 HTTP 端点的 url。 | URI |
150.3.2. 查询参数(38 参数): 复制链接链接已复制到粘贴板!
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
disableStreamCache (common) | 确定来自 Servlet 的原始输入流是否被缓存(Camel 会将流读取到内存/流到文件、流缓存)缓存。默认情况下,Camel 将缓存 Servlet 输入流来支持多次读取它,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将这个选项设置为 true,比如将其直接流传输到文件或其他持久性存储。DefaultHttpBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文,以支持多次读取流。如果您使用 Servlet 桥接/代理,则考虑启用这个选项以提高性能,以防您不需要多次读取消息有效负载。http/http4 producer 默认将缓存响应正文流。如果将此选项设置为 true,则制作者不会缓存响应正文流,而是使用响应流作为消息正文。 | false | 布尔值 |
headerFilterStrategy (common) | 使用自定义 HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
httpBinding (common) | 使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。 | HttpBinding | |
bridgeEndpoint (producer) | 如果选项为 true,HttpProducer 将忽略 Exchange.HTTP_URI 标头,并使用端点的 URI 请求。您还可以将选项 throwExceptionOnFailure 设置为 false,以让 HttpProducer 发送所有故障响应。 | false | 布尔值 |
chunked (producer) | 如果此选项为 false,则 Servlet 将禁用 HTTP 流并在响应中设置 content-length 标头 | true | 布尔值 |
connectionClose (producer) | 指定是否需要将 Connection Close 标头添加到 HTTP 请求。默认情况下,connectionClose 为 false。 | false | 布尔值 |
copyHeaders (producer) | 如果此选项为 true,则 IN Exchange 标头将根据复制策略复制到 OUT 交换标头中。把它设置为 false,仅允许包含来自 HTTP 响应的标头(而不是传播 IN 标头)。 | true | 布尔值 |
httpMethod (producer) | 配置要使用的 HTTP 方法。如果设置,HttpMethod 标头无法覆盖这个选项。 | HttpMethods | |
ignoreResponseBody (producer) | 如果此选项为 true,http producer 不会读取响应正文并缓存输入流 | false | 布尔值 |
preserveHostHeader (producer) | 如果选项为 true,HttpProducer 会将 Host 标头设置为当前交换主机标头中包含的值,用于您希望下游服务器接收的主机标头来反映上游客户端调用的 URL,这将允许使用 Host 标头为代理服务生成准确的 URL。 | false | 布尔值 |
throwExceptionOnFailure (producer) | 如果远程服务器失败响应,禁用禁用 HttpOperationFailedException 的选项。这样,无论 HTTP 状态代码是什么,您都可以获得所有响应。 | true | 布尔值 |
transferException (producer) | 如果在消费者端启用并且 Exchange 失败,如果导致的 Exception 被发送序列化为 application/x-java-serialized-object 内容类型。在生成者一侧,异常将被反序列化和抛出,而不是 HttpOperationFailedException。导致异常需要被序列化。默认情况下是关闭的。如果启用此选项,则 Java 会将传入数据从请求反序列化到 Java,这可能会成为潜在的安全风险。 | false | 布尔值 |
cookieHandler (producer) | 配置 Cookie 处理程序来维护 HTTP 会话 | CookieHandler | |
okStatusCodeRange (producer) | 被视为成功响应的状态代码。这些值包含为。可以定义多个范围,用逗号分开,如 200-204,209,301-304。每个范围都必须是一个数字或 from-to,包括横线。 | 200-299 | 字符串 |
urlRewrite (producer) | 弃用 引用一个自定义 org.apache.camel.component.http.UrlRewrite,允许您在桥接/proxy 端点时重写 url。详情请查看 http://camel.apache.org/urlrewrite.html | UrlRewrite | |
httpClientConfigurer (advanced) | 为制作者或消费者创建的新 HttpClient 实例注册自定义配置策略,如配置身份验证机制等 | HttpClientConfigurer | |
httpClientOptions (advanced) | 若要利用 map 中的键/值来配置 HttpClient。 | Map | |
httpConnectionManager (advanced) | 使用自定义 HttpConnectionManager 来管理连接 | HttpConnectionManager | |
httpConnectionManager Options (advanced) | 使用 Map 中的键/值配置 HttpConnectionManager。 | Map | |
mapHttpMessageBody (advanced) | 如果此选项为 true,则交换的 IN Exchange Body 将映射到 HTTP 正文。把它设置为 false 将避免 HTTP 映射。 | true | 布尔值 |
mapHttpMessageFormUrl EncodedBody (advanced) | 如果此选项为 true,则交换的 IN exchange Form Encoded body 将映射到 HTTP。把它设置为 false 将避免 HTTP Form Encoded body 映射。 | true | 布尔值 |
mapHttpMessageHeaders (advanced) | 如果此选项为 true,则交换的 IN Exchange Headers 将映射到 HTTP 标头。把它设置为 false 将避免 HTTP 标头映射。 | true | 布尔值 |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
proxyAuthDomain (proxy) | 与 NTML 搭配使用的代理身份验证域 | 字符串 | |
proxyAuthHost (proxy) | 代理身份验证主机 | 字符串 | |
proxyAuthMethod (proxy) | 要使用的代理验证方法 | 字符串 | |
proxyAuthPassword (proxy) | 代理身份验证密码 | 字符串 | |
proxyAuthPort (proxy) | 代理身份验证端口 | int | |
proxyAuthScheme (proxy) | 要使用的代理验证方案 | 字符串 | |
proxyAuthUsername (proxy) | 代理身份验证用户名 | 字符串 | |
proxyHost (proxy) | 要使用的代理主机名 | 字符串 | |
proxyPort (proxy) | 要使用的代理端口 | int | |
authDomain (security) | 与 NTML 一起使用的身份验证域 | 字符串 | |
authHost (security) | 与 NTML 一起使用的身份验证主机 | 字符串 | |
authMethod (security) | 允许将身份验证方法用作以逗号分隔的值 Basic、Digest 或 NTLM 的列表。 | 字符串 | |
authMethodPriority (security) | 哪个身份验证方法优先使用,可以是 Basic、Digest 或 NTLM。 | 字符串 | |
authPassword (security) | 身份验证密码 | 字符串 | |
authUsername (security) | 身份验证用户名 | 字符串 |