Class TestRequestConfig
- All Implemented Interfaces:
Consumer<jakarta.ws.rs.client.Invocation.Builder>,Function<jakarta.ws.rs.client.WebTarget,jakarta.ws.rs.client.WebTarget>
The configuration is hierarchical: sub-clients could inherit top level configurations (defaults copies on creation).
Most properties provide Supplier-based configuration variant for lazy evaluation (applicable for defaults,
when actual value is resolved in time of request creation and not in time of default registration).
Also provides direct access for WebTarget and
Invocation.Builder objects with configurePath(java.util.function.Function) and
configureRequest(java.util.function.Consumer) methods. Config itself is registered in these methods
to apply all collected data.
Object also keeps data formatters to be used in form builder.
- Since:
- 13.09.2025
-
Constructor Summary
ConstructorsConstructorDescriptionTestRequestConfig(@Nullable TestRequestConfig base) Create a request config. -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(jakarta.ws.rs.client.Invocation.Builder request) Applies builder configurations.Configure request Accept header (Invocation.Builder.accept(String...)).acceptEncoding(String... encoding) Configure request Accept-Encoding header (Invocation.Builder.acceptEncoding(String...)).acceptLanguage(String... language) Configure request Accept-Language header (Invocation.Builder.acceptLanguage(String...)).jakarta.ws.rs.client.WebTargetapply(jakarta.ws.rs.client.WebTarget webTarget) Applies target configuration.jakarta.ws.rs.client.Invocation.BuilderapplyRequestConfiguration(jakarta.ws.rs.client.WebTarget webTarget) Build jersey client request with configured values.assertRequest(Consumer<RequestTracker> assertion) Assert configuration applied toWebTargetandInvocation.Builder.cacheControl(jakarta.ws.rs.core.CacheControl cacheControl) Configure request Cache-Control header (Invocation.Builder.cacheControl(CacheControl)).cacheControl(String cacheControl) Configure request Cache-Control header (Invocation.Builder.cacheControl(CacheControl)).clear()Clear configuration.configurePath(Function<jakarta.ws.rs.client.WebTarget, jakarta.ws.rs.client.WebTarget> modifier) Provides direct access for jerseyWebTargetobject configuration.configureRequest(Consumer<jakarta.ws.rs.client.Invocation.Builder> modifier) Provides direct access for jerseyInvocation.Builderobject configuration.cookie(jakarta.ws.rs.core.Cookie cookie) Configure request cookie (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).Configure request cookie (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).debug(boolean debug) Enable debug output for configured requests.formDateFormatter(DateFormat formatter) Configure java.util date formatter for form fields (used inFormBuilder).formDateTimeFormatter(DateTimeFormatter formatter) Configure java.time formatter for form fields (used inFormBuilder).@Nullable SourceAwareValue<String[]>@Nullable jakarta.ws.rs.core.CacheControl@Nullable SourceAwareValue<jakarta.ws.rs.core.CacheControl>Map<String,SourceAwareValue<jakarta.ws.rs.core.Cookie>> @Nullable SourceAwareValue<String[]>Note: extensions registered with class will have class in value.Map<Class<?>,SourceAwareValue<?>> @Nullable DateFormat@Nullable SourceAwareValue<DateFormat>@Nullable DateTimeFormatter@Nullable SourceAwareValue<DateTimeFormatter>@Nullable SourceAwareValue<String[]>List<? extends SourceAwareValue<Function<jakarta.ws.rs.client.WebTarget,jakarta.ws.rs.client.WebTarget>>> List<? extends SourceAwareValue<Consumer<jakarta.ws.rs.client.Invocation.Builder>>>booleanConfigure request header (Invocation.Builder.header(String, Object)).Configure request header (Invocation.Builder.header(String, Object)).booleanmatrixParam(String name, Object value) Configure request matrix parameter (WebTarget.matrixParam(String, Object...)).matrixParam(String name, Supplier<Object> supplier) Configure request matrix parameter (WebTarget.matrixParam(String, Object...)).Configure request path parameter (WebTarget.resolveTemplateFromEncoded(String, Object)).Configure request path parameter (WebTarget.resolveTemplateFromEncoded(String, Object)).Jersey client property configuration (JerseyClient.property(String, Object)).Configure jersey client property configuration (JerseyClient.property(String, Object)).queryParam(String name, Object value) Configure request query parameter (WebTarget.queryParam(String, Object...)).queryParam(String name, Supplier<Object> supplier) Configure request query parameter (WebTarget.queryParam(String, Object...)).Configure jersey client extension registration (JerseyClient.register(Class)).Configure jersey client extension registration (JerseyClient.register(Object)).register(K extension) Configure jersey client extension registration (JerseyClient.register(Object)).
-
Constructor Details
-
TestRequestConfig
Create a request config.- Parameters:
base- base configuration (optional) to copy values from
-
-
Method Details
-
configurePath
public TestRequestConfig configurePath(Function<jakarta.ws.rs.client.WebTarget, jakarta.ws.rs.client.WebTarget> modifier) Provides direct access for jerseyWebTargetobject configuration.- Parameters:
modifier- function, applying request target configuration- Returns:
- builder instance for chained calls
-
configureRequest
public TestRequestConfig configureRequest(Consumer<jakarta.ws.rs.client.Invocation.Builder> modifier) Provides direct access for jerseyInvocation.Builderobject configuration.- Parameters:
modifier- consumer, applying request configuration- Returns:
- builder instance for chained calls
-
property
Jersey client property configuration (JerseyClient.property(String, Object)).Multiple calls override previous value.
- Parameters:
name- property namevalue- property value- Returns:
- builder instance for chained calls
- See Also:
-
ClientProperties
-
property
Configure jersey client property configuration (JerseyClient.property(String, Object)).Multiple calls override previous value.
- Parameters:
name- property namesupplier- value supplier- Returns:
- builder instance for chained calls
- See Also:
-
ClientProperties
-
register
Configure jersey client extension registration (JerseyClient.register(Class)). Could be useful, for example, to register customMessageBodyReader.Multiple registrations of the same class will be ignored (extensions tracked by type).
- Type Parameters:
K- extension type- Parameters:
type- extension class- Returns:
- builder instance for chained calls
-
register
Configure jersey client extension registration (JerseyClient.register(Object)). Could be useful, for example, to register customMessageBodyReader(as instance).When called with different instances of the same class: only the latest registration will be used (extensions tracked by type).
- Type Parameters:
K- extension type- Parameters:
extension- extensions instance- Returns:
- builder instance for chained calls
-
register
Configure jersey client extension registration (JerseyClient.register(Object)). Supplier could return either class or extension instance.When called with different instances of the same class: only the latest registration will be used (extensions tracked by type).
- Type Parameters:
K- extension type- Parameters:
type- extension typesupplier- extension instance or null (for class)- Returns:
- builder instance for chained calls
-
accept
Configure request Accept header (Invocation.Builder.accept(String...)).Multiple calls override previous value.
- Parameters:
accept- media types required for response- Returns:
- builder instance for chained calls
- See Also:
-
MediaType
-
acceptLanguage
Configure request Accept-Language header (Invocation.Builder.acceptLanguage(String...)).Multiple calls override previous value.
- Parameters:
language- languages to accept- Returns:
- builder instance for chained calls
-
acceptEncoding
Configure request Accept-Encoding header (Invocation.Builder.acceptEncoding(String...)).Multiple calls override previous value.
- Parameters:
encoding- encodings to accept- Returns:
- builder instance for chained calls
-
cacheControl
Configure request Cache-Control header (Invocation.Builder.cacheControl(CacheControl)).Multiple calls override previous value.
- Parameters:
cacheControl- cache control header value (as string).- Returns:
- builder instance for chained calls
-
cacheControl
Configure request Cache-Control header (Invocation.Builder.cacheControl(CacheControl)).Multiple calls override previous value.
- Parameters:
cacheControl- cache control settings to apply to request.- Returns:
- builder instance for chained calls
-
queryParam
Configure request query parameter (WebTarget.queryParam(String, Object...)).Note: jersey api supports multiple query parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- query parameter namevalue- parameter value (list or array for multiple values)- Returns:
- builder instance for chained calls
-
queryParam
Configure request query parameter (WebTarget.queryParam(String, Object...)).Note: jersey api supports multiple query parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- param namesupplier- value supplier (list or array for multiple values)- Returns:
- builder instance for chained calls
-
pathParam
Configure request path parameter (WebTarget.resolveTemplateFromEncoded(String, Object)).Note: parameter value assumed to be encoded to be able to specify matrix parameters (in the middle of the path):
pathParam("var", "/path;var=1;val=2").- Parameters:
name- parameter namevalue- parameter value- Returns:
- builder instance for chained calls
-
pathParam
Configure request path parameter (WebTarget.resolveTemplateFromEncoded(String, Object)).- Parameters:
name- parameter namesupplier- parameter value supplier- Returns:
- builder instance for chained calls
-
matrixParam
Configure request matrix parameter (WebTarget.matrixParam(String, Object...)).Note: jersey api supports multiple matrix parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- matrix parameter namevalue- parameter value (list or array for multiple values)- Returns:
- builder instance for chained calls
-
matrixParam
Configure request matrix parameter (WebTarget.matrixParam(String, Object...)).Note: jersey api supports multiple matrix parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- param namesupplier- value supplier (list or array for multiple values)- Returns:
- builder instance for chained calls
-
header
Configure request header (Invocation.Builder.header(String, Object)).Multiple calls override previous value.
- Parameters:
name- header namevalue- header value- Returns:
- builder instance for chained calls
-
header
Configure request header (Invocation.Builder.header(String, Object)).Multiple calls override previous value.
- Parameters:
name- header namesupplier- value supplier- Returns:
- builder instance for chained calls
-
cookie
Configure request cookie (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).Use cookie builder:
new NewCookie.Builder(name).value(value).build().Multiple calls override previous value.
- Parameters:
cookie- cookie value- Returns:
- builder instance for chained calls
- See Also:
-
NewCookie
-
cookie
Configure request cookie (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).Multiple calls override previous value.
- Parameters:
name- namesupplier- value suppler- Returns:
- builder instance for chained calls
- See Also:
-
NewCookie
-
formDateFormatter
Configure java.util date formatter for form fields (used inFormBuilder).- Parameters:
formatter- date formatter- Returns:
- builder instance for chained calls
-
formDateTimeFormatter
Configure java.time formatter for form fields (used inFormBuilder).- Parameters:
formatter- date formatter- Returns:
- builder instance for chained calls
-
debug
Enable debug output for configured requests.- Parameters:
debug- true to enable debug, false to disable- Returns:
- builder instance for chained calls
-
assertRequest
Assert configuration applied toWebTargetandInvocation.Builder.Option implicitly enables debug.
Assertions would be executed just before request execution
- Parameters:
assertion- assertions- Returns:
- builder instance for chained calls
-
applyRequestConfiguration
public jakarta.ws.rs.client.Invocation.Builder applyRequestConfiguration(jakarta.ws.rs.client.WebTarget webTarget) Build jersey client request with configured values.- Parameters:
webTarget- target- Returns:
- pre-configured jersey client request builder
-
clear
Clear configuration.- Returns:
- builder instance for chained calls
-
hasConfiguration
public boolean hasConfiguration()- Returns:
- true if any configuration applied, false otherwise
-
printConfiguration
- Returns:
- render configured values as string
-
getConfiguredQueryParams
- Returns:
- configured query parameter names or empty set if not configured
-
getConfiguredQueryParamsMap
- Returns:
- configured query parameters map or empty map if not configured
-
getConfiguredQueryParamsSource
- Returns:
- query parameters with declaration sources or empty map if not configured
-
getConfiguredMatrixParams
- Returns:
- configured matrix parameter names or empty set if not configured
-
getConfiguredMatrixParamsMap
- Returns:
- configured matrix parameters map or empty map if not configured
-
getConfiguredMatrixParamsSource
- Returns:
- matrix parameters with declaration sources or empty map if not configured
-
getConfiguredHeaders
- Returns:
- configured header names or empty set if not configured
-
getConfiguredHeadersMap
- Returns:
- configured headers map or empty map if not configured
-
getConfiguredHeadersSource
- Returns:
- configured headers with declaration sources or empty map if not configured
-
getConfiguredCookies
- Returns:
- configured cookie names or empty set if not configured
-
getConfiguredCookiesMap
- Returns:
- configured cookies map or empty map if not configured
-
getConfiguredCookiesSource
- Returns:
- configured cookie with declaration sources or empty map if not configured
-
getConfiguredProperties
- Returns:
- configured property names or empty set if not configured
-
getConfiguredPropertiesMap
- Returns:
- configured properties map or empty map if not configured
-
getConfiguredPropertiesSource
- Returns:
- configured properties with declaration sources or empty map if not configured.
-
getConfiguredExtensions
- Returns:
- configured extension classes or empty set if not configured.
-
getConfiguredExtensionsMap
Note: extensions registered with class will have class in value.- Returns:
- configured extensions map or empty map if not configured
-
getConfiguredExtensionsSource
- Returns:
- configured extensions with declaration sources or empty map if not configured
-
getConfiguredPathParams
- Returns:
- configured path param names or empty set if not configured
-
getConfiguredPathParamsMap
- Returns:
- configured path params map or empty map if not configured
-
getConfiguredPathParamsSource
- Returns:
- configured path params with declaration sources or empty map if not configured
-
getConfiguredAccepts
- Returns:
- configured accept media types or empty list if not configured
-
getConfiguredAcceptsSource
- Returns:
- configured media types with declaration source or null if not configured
-
getConfiguredLanguages
- Returns:
- configured languages or empty list if not configured
-
getConfiguredLanguagesSource
- Returns:
- configured languages with declaration source or null if not configured
-
getConfiguredEncodings
- Returns:
- configured accept languages or empty list if not configured
-
getConfiguredEncodingsSource
- Returns:
- configured encodings with declaration source or null if not configured
-
getConfiguredFormDateFormatter
- Returns:
- configured java.util date formatter or null if not configured
-
getConfiguredFormDateFormatterSource
- Returns:
- configured java.util date formatter supplier with declaration source or null if not configured
-
getConfiguredFormDateTimeFormatter
- Returns:
- configured java.time date formatter or null if not configured
-
getConfiguredFormDateTimeFormatterSource
- Returns:
- configured java.time date formatter supplier with declaration source or null if not configured
-
getConfiguredCacheControl
public @Nullable jakarta.ws.rs.core.CacheControl getConfiguredCacheControl()- Returns:
- configured cache control or null if not configured
-
getConfiguredCacheControlSource
public @Nullable SourceAwareValue<jakarta.ws.rs.core.CacheControl> getConfiguredCacheControlSource()- Returns:
- configured cache control with declaration source or null
-
getConfiguredPathModifiers
public List<Function<jakarta.ws.rs.client.WebTarget,jakarta.ws.rs.client.WebTarget>> getConfiguredPathModifiers()- Returns:
- custom path modifiers (excluding config object itself)
-
getConfiguredPathModifiersSource
public List<? extends SourceAwareValue<Function<jakarta.ws.rs.client.WebTarget,jakarta.ws.rs.client.WebTarget>>> getConfiguredPathModifiersSource()- Returns:
- configured path modifiers with declaration sources or empty list
-
getConfiguredRequestModifiers
- Returns:
- custom request modifiers (excluding config object itself)
-
getConfiguredRequestModifiersSource
public List<? extends SourceAwareValue<Consumer<jakarta.ws.rs.client.Invocation.Builder>>> getConfiguredRequestModifiersSource()- Returns:
- configured request modifiers with declaration sources or empty list
-
isDebugEnabled
public boolean isDebugEnabled()- Returns:
- true if debug enabled
-
apply
public jakarta.ws.rs.client.WebTarget apply(jakarta.ws.rs.client.WebTarget webTarget) Applies target configuration. Used underconfigurePath(java.util.function.Function).Implicitly called by
applyRequestConfiguration(jakarta.ws.rs.client.WebTarget). -
accept
public void accept(jakarta.ws.rs.client.Invocation.Builder request) Applies builder configurations. Used underconfigureRequest(java.util.function.Consumer).Implicitly called by
applyRequestConfiguration(jakarta.ws.rs.client.WebTarget).
-