Module io.helidon.nima.webclient
Package io.helidon.nima.webclient
Interface ClientRequest<B extends ClientRequest<B,R>,R extends ClientResponse>
- Type Parameters:
B- type of the client requestR- type of the client response
- All Known Subinterfaces:
Http1ClientRequest,Http2ClientRequest
public interface ClientRequest<B extends ClientRequest<B,R>,R extends ClientResponse>
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 Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceHandle output stream. -
Method Summary
Modifier and TypeMethodDescriptionconnection(ClientConnection connection) This method is for explicit connection use by this request.default Bheader(Http.HeaderName name, String value) Set an HTTP header.header(Http.HeaderValue header) Set an HTTP header.headers(Function<ClientRequestHeaders, WritableHeaders<?>> headersConsumer) Update headers.outputStream(ClientRequest.OutputStreamHandler outputStreamConsumer) Handle output stream and submit the request.default BConfigure path to call.Replace a placeholder in URI with an actual value.queryParam(String name, String... values) Add query parameter.request()Request without an entity.default <T> TRequest without sending an entity, asking for entity only.Resolved URI that will be used to invoke this request.Submit an entity.TLS configuration for this specific request.default BConfigure URI.Configure URI.
-
Method Details
-
uri
Configure URI.- Parameters:
uri- uri to resolve against base URI, or to use if absolute- Returns:
- updated request
-
path
Configure path to call.- Parameters:
uri- path- Returns:
- updated request
-
tls
TLS configuration for this specific request.- Parameters:
tls- tls configuration- Returns:
- updated request
-
uri
Configure URI.- Parameters:
uri- uri to resolve against base URI, or to use if absolute- Returns:
- updated request
-
header
Set an HTTP header.- Parameters:
header- header to set- Returns:
- updated request
-
header
Set an HTTP header.- Parameters:
name- header namevalue- header value- Returns:
- updated request
-
headers
Update headers.- Parameters:
headersConsumer- consumer of client request headers- Returns:
- updated request
-
pathParam
Replace a placeholder in URI with an actual value.- Parameters:
name- name of parametervalue- value of parameter- Returns:
- updated request
-
queryParam
Add query parameter.- Parameters:
name- name of parametervalues- value(s) of parameter- Returns:
- updated request
-
request
R request()Request without an entity.- Returns:
- response
-
request
Request without sending an entity, asking for entity only.- Type Parameters:
T- type of entity- Parameters:
type- type of entity- Returns:
- correctly typed entity
- See Also:
-
submit
Submit an entity.- Parameters:
entity- request entity- Returns:
- response
-
outputStream
Handle output stream and submit the request.- Parameters:
outputStreamConsumer- output stream to write request entity- Returns:
- response
-
resolvedUri
URI resolvedUri()Resolved URI that will be used to invoke this request.- Returns:
- URI to invoke
-
connection
This method is for explicit connection use by this request.- Parameters:
connection- connection to use for this request- Returns:
- updated client request
-