Interface RestClientsConfig


@ConfigMapping(prefix="quarkus.rest-client") @ConfigRoot(phase=RUN_TIME) public interface RestClientsConfig
  • Method Details

    • clients

      @WithParentName @WithDefaults @ConfigDocMapKey("client") Map<String,RestClientsConfig.RestClientConfig> clients()
      Configurations of REST client instances.

      The key can be either the value of the configKey parameter of a `@RegisterRestClient` annotation, or the name of a class bearing that annotation, in which case it is possible to use the short name, as well as fully qualified name.

    • multipartPostEncoderMode

      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

      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 clients to use.

      Can be overwritten by client-specific settings.

    • proxyUser

      Optional<String> proxyUser()
      Proxy username, equivalent to the http.proxy or https.proxy JVM settings.

      Can be overwritten by client-specific settings.

      This property is not applicable to the RESTEasy Client.

    • proxyPassword

      Optional<String> proxyPassword()
      Proxy password, equivalent to the http.proxyPassword or https.proxyPassword JVM settings.

      Can be overwritten by client-specific settings.

      This property is not applicable to the RESTEasy Client.

    • nonProxyHosts

      Optional<String> nonProxyHosts()
      Hosts to access without proxy, similar to the http.nonProxyHosts or https.nonProxyHosts JVM settings. Please note that unlike the JVM settings, this property is empty by default.

      Can be overwritten by client-specific settings.

      This property is not applicable to the RESTEasy Client.

    • connectTimeout

      @WithDefault("15000") Long connectTimeout()
      A timeout in milliseconds that REST clients should wait to connect to the remote endpoint.

      Can be overwritten by client-specific settings.

    • readTimeout

      @WithDefault("30000") Long readTimeout()
      A timeout in milliseconds that REST clients should wait for a response from the remote endpoint.

      Can be overwritten by client-specific settings.

    • disableContextualErrorMessages

      @WithDefault("false") boolean disableContextualErrorMessages()
      If true, the REST clients will not provide additional contextual information (like REST client class and method names) when exception occurs during a client invocation.

      This property is not applicable to the RESTEasy Client.

    • userAgent

      Optional<String> userAgent()
      Default configuration for the HTTP user-agent header to use in all REST clients.

      Can be overwritten by client-specific settings.

      This property is not applicable to the RESTEasy Client.

    • headers

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

      Optional<String> hostnameVerifier()
      The class name of the host name verifier. The class must have a public no-argument constructor.

      Can be overwritten by client-specific settings.

    • connectionTTL

      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.

      Can be overwritten by client-specific settings.

    • connectionPoolSize

      Optional<Integer> connectionPoolSize()
      The size of the connection pool for this client.

      Can be overwritten by client-specific settings.

    • keepAliveEnabled

      @WithDefault("true") Optional<Boolean> keepAliveEnabled()
      If set to false disables the keep alive completely.

      Can be overwritten by client-specific settings.

    • maxRedirects

      Optional<Integer> maxRedirects()
      The maximum number of redirection a request can follow.

      Can be overwritten by client-specific settings.

      This property is not applicable to the RESTEasy Client.

    • followRedirects

      Optional<Boolean> followRedirects()
      A boolean value used to determine whether the client should follow HTTP redirect responses.

      Can be overwritten by client-specific settings.

    • providers

      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.

      Can be overwritten by client-specific settings.

    • scope

      Optional<String> scope()
      The CDI scope to use for injections of REST client instances. Value can be either a fully qualified class name of a CDI scope annotation (such as "jakarta.enterprise.context.ApplicationScoped") or its simple name (such as"ApplicationScoped").

      Default scope for the rest-client extension is "Dependent" (which is the spec-compliant behavior).

      Default scope for the rest-client-reactive extension is "ApplicationScoped".

      Can be overwritten by client-specific settings.

    • queryParamStyle

      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.

      Can be overwritten by client-specific settings.

    • verifyHost

      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.

      Can be overwritten by client-specific settings.

    • trustStore

      Optional<String> trustStore()
      The trust store location. Can point to either a classpath resource or a file.

      Can be overwritten by client-specific settings.

    • trustStorePassword

      Optional<String> trustStorePassword()
      The trust store password.

      Can be overwritten by client-specific settings.

    • trustStoreType

      Optional<String> trustStoreType()
      The type of the trust store. Defaults to "JKS".

      Can be overwritten by client-specific settings.

    • keyStore

      Optional<String> keyStore()
      The key store location. Can point to either a classpath resource or a file.

      Can be overwritten by client-specific settings.

    • keyStorePassword

      Optional<String> keyStorePassword()
      The key store password.

      Can be overwritten by client-specific settings.

    • keyStoreType

      Optional<String> keyStoreType()
      The type of the key store. Defaults to "JKS".

      Can be overwritten by client-specific settings.

    • tlsConfigurationName

      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.

    • http2

      @WithDefault("false") boolean http2()
      If this is true then HTTP/2 will be enabled.
    • maxChunkSize

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

      Can be overwritten by client-specific settings.

    • alpn

      Optional<Boolean> 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

      @WithDefault("true") 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
    • logging

      Logging configuration.
    • multipart

      Multipart configuration.
    • getClient

      default RestClientsConfig.RestClientConfig getClient(Class<?> restClientInterface)
    • getClient

      default RestClientsConfig.RestClientConfig getClient(String restClientConfigKey)