Class RestClientConfig

java.lang.Object
io.quarkus.restclient.config.RestClientConfig

public class RestClientConfig extends Object
  • Field Details

    • EMPTY

      public static final RestClientConfig EMPTY
    • multipart

      public RestClientMultipartConfig multipart
    • url

      The base URL to use for this service. This property or the `uri` property is considered required, unless the `baseUri` attribute is configured in the `@RegisterRestClient` annotation.
    • uri

      The base URI to use for this service. This property or the `url` property is considered required, unless the `baseUri` attribute is configured in the `@RegisterRestClient` annotation.
    • overrideUri

      @ConfigItem public Optional<String> overrideUri
      This property is only meant to be set by advanced configurations to override whatever value was set for the uri or url. The override is done using the REST Client class name configuration syntax.

      This property is not applicable to the RESTEasy Client, only the Quarkus Rest client (formerly RESTEasy Reactive client).

    • providers

      @ConfigItem public Optional<String> providers
      Map where keys are fully-qualified provider classnames to include in the client, and values are their integer priorities. The equivalent of the `@RegisterProvider` annotation.
    • connectTimeout

      @ConfigItem public Optional<Long> connectTimeout
      Timeout specified in milliseconds to wait to connect to the remote endpoint.
    • readTimeout

      @ConfigItem public Optional<Long> readTimeout
      Timeout specified in milliseconds to wait for a response from the remote endpoint.
    • followRedirects

      @ConfigItem public Optional<Boolean> followRedirects
      A boolean value used to determine whether the client should follow HTTP redirect responses.
    • multipartPostEncoderMode

      @ConfigItem public Optional<String> multipartPostEncoderMode
      Mode in which the form data are encoded. Possible values are `HTML5`, `RFC1738` and `RFC3986`. The modes are described in the Netty documentation

      By default, Rest Client Reactive uses RFC1738.

      This property is not applicable to the RESTEasy Client.

    • proxyAddress

      @ConfigItem public Optional<String> proxyAddress
      A string value in the form of `:` that specifies the HTTP proxy server hostname (or IP address) and port for requests of this client to use. Use `none` to disable proxy
    • proxyUser

      @ConfigItem public Optional<String> proxyUser
      Proxy username.

      This property is not applicable to the RESTEasy Client.

    • proxyPassword

      @ConfigItem public Optional<String> proxyPassword
      Proxy password.

      This property is not applicable to the RESTEasy Client.

    • nonProxyHosts

      @ConfigItem public Optional<String> nonProxyHosts
      Hosts to access without proxy

      This property is not applicable to the RESTEasy Client.

    • queryParamStyle

      @ConfigItem public Optional<org.eclipse.microprofile.rest.client.ext.QueryParamStyle> queryParamStyle
      An enumerated type string value with possible values of "MULTI_PAIRS" (default), "COMMA_SEPARATED", or "ARRAY_PAIRS" that specifies the format in which multiple values for the same query parameter is used.
    • verifyHost

      @ConfigItem public Optional<Boolean> verifyHost
      Set whether hostname verification is enabled. Default is enabled. This setting should not be disabled in production as it makes the client vulnerable to MITM attacks.
    • trustStore

      @ConfigItem public Optional<String> trustStore
      The trust store location. Can point to either a classpath resource or a file.
    • trustStorePassword

      @ConfigItem public Optional<String> trustStorePassword
      The trust store password.
    • trustStoreType

      @ConfigItem public Optional<String> trustStoreType
      The type of the trust store. Defaults to "JKS".
    • keyStore

      @ConfigItem public Optional<String> keyStore
      The key store location. Can point to either a classpath resource or a file.
    • keyStorePassword

      @ConfigItem public Optional<String> keyStorePassword
      The key store password.
    • keyStoreType

      @ConfigItem public Optional<String> keyStoreType
      The type of the key store. Defaults to "JKS".
    • hostnameVerifier

      @ConfigItem public Optional<String> hostnameVerifier
      The class name of the host name verifier. The class must have a public no-argument constructor.
    • tlsConfigurationName

      @ConfigItem public Optional<String> tlsConfigurationName
      The name of the TLS configuration to use.

      If not set and the default TLS configuration is configured (quarkus.tls.*) then that will be used. If a name is configured, it uses the configuration from quarkus.tls.<name>.* If a name is configured, but no TLS configuration is found with that name then an error will be thrown.

      If no TLS configuration is set, then the keys-tore, trust-store, etc. properties will be used.

      This property is not applicable to the RESTEasy Client.

    • connectionTTL

      @ConfigItem public Optional<Integer> connectionTTL
      The time in ms for which a connection remains unused in the connection pool before being evicted and closed. A timeout of 0 means there is no timeout.
    • connectionPoolSize

      @ConfigItem public Optional<Integer> connectionPoolSize
      The size of the connection pool for this client.
    • keepAliveEnabled

      @ConfigItem public Optional<Boolean> keepAliveEnabled
      If set to false disables the keep alive completely.
    • maxRedirects

      @ConfigItem public Optional<Integer> maxRedirects
      The maximum number of redirection a request can follow.

      This property is not applicable to the RESTEasy Client.

    • headers

      @ConfigItem @ConfigDocMapKey("header-name") public Map<String,String> headers
      The HTTP headers that should be applied to all requests of the rest client.

      This property is not applicable to the RESTEasy Client.

    • shared

      @ConfigItem public Optional<Boolean> shared
      Set to true to share the HTTP client between REST clients. There can be multiple shared clients distinguished by name, when no specific name is set, the name __vertx.DEFAULT is used.

      This property is not applicable to the RESTEasy Client.

    • name

      @ConfigItem public Optional<String> name
      Set the HTTP client name, used when the client is shared, otherwise ignored.

      This property is not applicable to the RESTEasy Client.

    • userAgent

      @ConfigItem public Optional<String> userAgent
      Configure the HTTP user-agent header to use.

      This property is not applicable to the RESTEasy Client.

    • http2

      @ConfigItem public Optional<Boolean> http2
      If this is true then HTTP/2 will be enabled.
    • maxChunkSize

      @ConfigItem @ConfigDocDefault("8K") public Optional<MemorySize> maxChunkSize
      The max HTTP chunk size (8096 bytes by default).

      This property is not applicable to the RESTEasy Client.

    • alpn

      If the Application-Layer Protocol Negotiation is enabled, the client will negotiate which protocol to use over the protocols exposed by the server. By default, it will try to use HTTP/2 first and if it's not enabled, it will use HTTP/1.1. When the property `http2` is enabled, this flag will be automatically enabled.
    • captureStacktrace

      @ConfigItem public Optional<Boolean> captureStacktrace
      If true, the stacktrace of the invocation of the REST Client method is captured. This stacktrace will be used if the invocation throws an exception
  • Constructor Details

    • RestClientConfig

      public RestClientConfig()
  • Method Details