Module io.helidon.webclient.api
Package io.helidon.webclient.api
Interface ClientRequest<T extends ClientRequest<T>>
- Type Parameters:
- T- type of the implementation, to support fluent API
- All Known Subinterfaces:
- FullClientRequest<T>,- Http1ClientRequest,- Http2ClientRequest,- JsonRpcClientRequest
- All Known Implementing Classes:
- ClientRequestBase,- HttpClientRequest
public interface ClientRequest<T extends ClientRequest<T>>
Request can be reused within a single thread, but it remembers all explicitly configured headers and URI.
 Implementation is not expected to be thread safe!
- 
Nested Class SummaryNested ClassesModifier and TypeInterfaceDescriptionstatic interfaceHandle output stream.
- 
Method SummaryModifier and TypeMethodDescriptiondefault TAccepted media types.default Taccept(HttpMediaType... accepted) Accepted media types.connection(ClientConnection connection) This method is for explicit connection use by this request.default TcontentType(MediaType contentType) Sets the content type of the request.booleanWhether to follow redirects.followRedirects(boolean followRedirects) Whether to follow redirects.fragment(UriFragment fragment) Set fragment of the URI.default TSet fragment of the URI.Set an HTTP header.default Theader(HeaderName name, String... values) Set an HTTP header.default Theader(HeaderName name, List<String> values) Set an HTTP header with multiple values.headers()Get a (mutable) instance of outgoing headers.Configure headers.headers(Consumer<ClientRequestHeaders> headersConsumer) Update headers.keepAlive(boolean keepAlive) Whether to use keep alive with this request.intMaximal number of redirects to follow.maxRedirects(int maxRedirects) Max number of the followed redirects.outputStream(ClientRequest.OutputStreamHandler outputStreamConsumer) Handle output stream and submit the request.default <T> ClientResponseTyped<T> outputStream(ClientRequest.OutputStreamHandler outputStreamConsumer, Class<T> requestedType) Handle output stream and request a specific type.default TConfigure path to call.Replace a placeholder in URI with an actual value.Add a property to be used by this request.Proxy configuration for this specific request.queryParam(String name, String... values) Add query parameter.readContinueTimeout(Duration readContinueTimeout) Read 100-Continue timeout for this request.readTimeout(Duration readTimeout) Read timeout for this request.default HttpClientResponserequest()Request without an entity.default <E> ClientResponseTyped<E> Request without sending an entity.default <E> ErequestEntity(Class<E> type) Request entity without sending a request entity, asking for entity only.Resolved URI that will be used to invoke this request.sendExpectContinue(boolean sendExpectContinue) Whether Expect 100-Continue header is sent to verify server availability before sending an entity.skipUriEncoding(boolean skip) Disable uri encoding.Submit an entity.default <T> ClientResponseTyped<T> Submit an entity and request a specific type.TLS configuration for this specific request.Configure request URI.default TConfigure URI.Configure URI.
- 
Method Details- 
uriConfigure URI.- Parameters:
- uri- uri to resolve against base URI, or to use if absolute
- Returns:
- updated request
 
- 
pathConfigure path to call.- Parameters:
- uri- path
- Returns:
- updated request
 
- 
tlsTLS configuration for this specific request.- Parameters:
- tls- tls configuration
- Returns:
- updated request
 
- 
proxyProxy configuration for this specific request.- Parameters:
- proxy- proxy configuration
- Returns:
- updated request
 
- 
uriConfigure URI.- Parameters:
- uri- uri to resolve against base URI, or to use if absolute
- Returns:
- updated request
 
- 
uriConfigure request URI. This always replaces the existing URI (even if base URI is configured).- Parameters:
- uri- uri to resolve against base URI, or to use if absolute
- Returns:
- updated request
 
- 
headerSet an HTTP header.- Parameters:
- header- header to set
- Returns:
- updated request
 
- 
headerSet an HTTP header.- Parameters:
- name- header name
- values- header values
- Returns:
- updated request
 
- 
headerSet an HTTP header with multiple values.- Parameters:
- name- header name
- values- header values
- Returns:
- updated request
 
- 
headersConfigure headers. Copy all headers from suppliedHeadersinstance.- Parameters:
- headers- to copy
- Returns:
- updated request
 
- 
headersUpdate headers.- Parameters:
- headersConsumer- consumer of client request headers
- Returns:
- updated request
 
- 
acceptAccepted media types. Supports quality factor and wildcards.- Parameters:
- accepted- media types to accept
- Returns:
- updated request
 
- 
acceptAccepted media types. Supports quality factor and wildcards.- Parameters:
- acceptedTypes- media types to accept
- Returns:
- updated request
 
- 
contentTypeSets the content type of the request.- Parameters:
- contentType- content type of the request.
- Returns:
- updated request
 
- 
pathParamReplace a placeholder in URI with an actual value.- Parameters:
- name- name of parameter
- value- value of parameter
- Returns:
- updated request
 
- 
queryParamAdd query parameter.- Parameters:
- name- name of parameter
- values- value(s) of parameter
- Returns:
- updated request
 
- 
fragmentSet fragment of the URI.- Parameters:
- fragment- fragment
- Returns:
- updated request
 
- 
fragmentSet fragment of the URI.- Parameters:
- fragment- fragment
- Returns:
- updated request
 
- 
followRedirectsWhether to follow redirects.- Parameters:
- followRedirects- follow redirects
- Returns:
- updated request
 
- 
maxRedirectsMax number of the followed redirects.- Parameters:
- maxRedirects- max followed redirects
- Returns:
- updated request
 
- 
followRedirectsboolean followRedirects()Whether to follow redirects.- Returns:
- follow redirects
 
- 
maxRedirectsint maxRedirects()Maximal number of redirects to follow. This is to prevent infinite redirects.- Returns:
- max number of redirects
 
- 
requestRequest without an entity.- Returns:
- response
 
- 
headersClientRequestHeaders headers()Get a (mutable) instance of outgoing headers.- Returns:
- client request headers
 
- 
requestRequest without sending an entity.- Type Parameters:
- E- type of entity
- Parameters:
- type- type of entity
- Returns:
- correctly typed response
- See Also:
 
- 
requestEntityRequest entity without sending a request entity, asking for entity only. This method will fail if the status is not in successful family.- Type Parameters:
- E- type of the entity to read from the response
- Parameters:
- type- type of requested entity
- Returns:
- correctly typed entity
- Throws:
- HttpException- in case the response status is not success
 
- 
submitSubmit an entity.- Parameters:
- entity- request entity
- Returns:
- response
 
- 
submitSubmit an entity and request a specific type.- Type Parameters:
- T- type of response entity
- Parameters:
- entity- request entity
- requestedType- type of response entity
- Returns:
- correctly typed response
 
- 
outputStreamHandle output stream and submit the request.- Parameters:
- outputStreamConsumer- output stream to write request entity
- Returns:
- response
 
- 
outputStreamdefault <T> ClientResponseTyped<T> outputStream(ClientRequest.OutputStreamHandler outputStreamConsumer, Class<T> requestedType) Handle output stream and request a specific type.- Type Parameters:
- T- type of response entity
- Parameters:
- outputStreamConsumer- output stream consumer to write request entity
- requestedType- type of response entity
- Returns:
- correctly typed response
 
- 
resolvedUriUriInfo resolvedUri()Resolved URI that will be used to invoke this request.- Returns:
- URI to invoke
 
- 
connectionThis method is for explicit connection use by this request.- Parameters:
- connection- connection to use for this request
- Returns:
- updated client request
 
- 
skipUriEncodingDisable uri encoding.- Parameters:
- skip- set to- trueto disable URI encoding (- falseby default)
- Returns:
- updated client request
 
- 
propertyAdd a property to be used by this request.- Parameters:
- propertyName- property name
- propertyValue- property value
- Returns:
- updated builder instance
 
- 
keepAliveWhether to use keep alive with this request.- Parameters:
- keepAlive- use keep alive
- Returns:
- updated client request
 
- 
readTimeoutRead timeout for this request.- Parameters:
- readTimeout- response read timeout
- Returns:
- updated client request
 
- 
readContinueTimeoutRead 100-Continue timeout for this request. This read timeout is used when 100-Continue is sent by the client, before it sends an entity.- Parameters:
- readContinueTimeout- read 100-Continue timeout duration
- Returns:
- updated client request
- See Also:
 
- 
sendExpectContinueWhether Expect 100-Continue header is sent to verify server availability before sending an entity. Can be used to override the setting inherited fromHttpClientConfig.sendExpectContinue()on a per-request basis.- Parameters:
- sendExpectContinue- value to override behavior for a single request
- Returns:
- updated client request
 
 
-