Interface HttpRequest
- All Superinterfaces:
ContextMapHolder
,HttpMetaData
,HttpRequestMetaData
Object
.-
Method Summary
Modifier and TypeMethodDescriptiondefault HttpRequest
addCookie
(HttpCookiePair cookie) Adds a cookie.default HttpRequest
addCookie
(CharSequence name, CharSequence value) default HttpRequest
addHeader
(CharSequence name, CharSequence value) Adds a new header with the specifiedname
andvalue
.default HttpRequest
addHeaders
(HttpHeaders headers) Adds all header names and values ofheaders
object.addQueryParameter
(String key, String value) Adds a new query parameter with the specifiedkey
andvalue
, which will be percent-encoded if needed.addQueryParameters
(String key, Iterable<String> values) Adds new query parameters with the specifiedkey
andvalues
.addQueryParameters
(String key, String... values) Adds new query parameters with the specifiedkey
andvalues
.default HttpRequest
addSetCookie
(HttpSetCookie cookie) Adds a set-cookie.default HttpRequest
addSetCookie
(CharSequence name, CharSequence value) default HttpRequest
addTrailer
(CharSequence name, CharSequence value) default HttpRequest
addTrailers
(HttpHeaders trailers) appendPathSegments
(String... segments) Appends segments to the currentHttpRequestMetaData.path()
, performing encoding of each segment (including ('/'
) characters) according to percent-encoding.contentEncoding
(BufferEncoder encoder) Set theBufferEncoder
to use for this request.context
(ContextMap context) Sets a context for thisHttpMetaData
.default HttpRequest
encoding
(ContentCodec encoding) Deprecated.default HttpRequest
Sets the fragment part of the request target.method
(HttpRequestMethod method) Set theHttpRequestMethod
of thisStreamingHttpRequest
.Sets the path, performing encoding according to percent-encoding, except for forward-slash ('/'
) characters.Gets the underlying payload as aBuffer
.payloadBody
(Buffer payloadBody) Returns anHttpRequest
with its underlying payload set topayloadBody
.default <T> T
payloadBody
(HttpDeserializer<T> deserializer) Deprecated.<T> T
payloadBody
(HttpDeserializer2<T> deserializer) Gets and deserializes the payload body.default <T> HttpRequest
payloadBody
(T pojo, HttpSerializer<T> serializer) Deprecated.<T> HttpRequest
payloadBody
(T pojo, HttpSerializer2<T> serializer) Returns anHttpRequest
with its underlying payload set to the results of serialization ofpojo
.Sets the path, performing encoding according to rfc3986, Query.Sets the path topath
, without any encoding performed.Sets the query component toquery
, without any encoding performed.requestTarget
(String requestTarget) Set the request-target.requestTarget
(String requestTarget, Charset encoding) Set the request-target.default HttpRequest
setHeader
(CharSequence name, CharSequence value) Sets a header with the specifiedname
andvalue
.default HttpRequest
setHeaders
(HttpHeaders headers) Clears the current header entries and copies all header entries of the specifiedheaders
object.setQueryParameter
(String key, String value) setQueryParameters
(String key, Iterable<String> values) Sets new query parameters with the specifiedkey
andvalues
.setQueryParameters
(String key, String... values) Sets new query parameters with the specifiedkey
andvalues
.default HttpRequest
setTrailer
(CharSequence name, CharSequence value) default HttpRequest
setTrailers
(HttpHeaders trailers) Translates thisHttpRequest
to aBlockingStreamingHttpRequest
.Translates thisHttpRequest
to aStreamingHttpRequest
.trailers()
Gets the trailers.version
(HttpProtocolVersion version) Set the protocol version of thisHttpMetaData
.Methods inherited from interface io.servicetalk.http.api.HttpMetaData
context, encoding, headers, toString, toString, version
Methods inherited from interface io.servicetalk.http.api.HttpRequestMetaData
contentEncoding, effectiveHostAndPort, fragment, hasQueryParameter, hasQueryParameter, host, method, path, port, query, queryParameter, queryParameters, queryParameters, queryParametersIterator, queryParametersKeys, queryParametersSize, rawPath, rawQuery, removeQueryParameters, removeQueryParameters, requestTarget, requestTarget, scheme, userInfo
-
Method Details
-
payloadBody
Buffer payloadBody()Gets the underlying payload as aBuffer
.- Returns:
- The
Buffer
representation of the underlying payload.
-
payloadBody
Deprecated.Gets and deserializes the payload body.- Type Parameters:
T
- The resulting type of the deserialization operation.- Parameters:
deserializer
- The function that deserializes the underlyingObject
.- Returns:
- The results of the deserialization operation.
-
payloadBody
Gets and deserializes the payload body.- Type Parameters:
T
- The resulting type of the deserialization operation.- Parameters:
deserializer
- The function that deserializes the underlyingObject
.- Returns:
- The results of the deserialization operation.
-
payloadBody
Returns anHttpRequest
with its underlying payload set topayloadBody
.- Parameters:
payloadBody
- the underlying payload.- Returns:
this
-
payloadBody
Deprecated.Returns anHttpRequest
with its underlying payload set to the results of serialization ofpojo
.- Type Parameters:
T
- The type of object to serialize.- Parameters:
pojo
- The object to serialize.serializer
- TheHttpSerializer
which convertspojo
into bytes.- Returns:
this
-
payloadBody
Returns anHttpRequest
with its underlying payload set to the results of serialization ofpojo
.- Type Parameters:
T
- The type of object to serialize.- Parameters:
pojo
- The object to serialize.serializer
- TheHttpSerializer2
which convertspojo
into bytes.- Returns:
this
-
toStreamingRequest
StreamingHttpRequest toStreamingRequest()Translates thisHttpRequest
to aStreamingHttpRequest
.- Returns:
- a
StreamingHttpRequest
representation of thisHttpRequest
.
-
toBlockingStreamingRequest
BlockingStreamingHttpRequest toBlockingStreamingRequest()Translates thisHttpRequest
to aBlockingStreamingHttpRequest
.- Returns:
- a
BlockingStreamingHttpRequest
representation of thisHttpRequest
.
-
rawPath
Description copied from interface:HttpRequestMetaData
Sets the path topath
, without any encoding performed. This assumes that any characters that require encoding have been encoded according to percent-encoding by the caller.Because this modifies the request target, this may result in the clearing of internal caches. See
HttpRequestMetaData.requestTarget(String)
.- Specified by:
rawPath
in interfaceHttpRequestMetaData
- Parameters:
path
- the encoded path to set.- Returns:
this
.
-
path
Description copied from interface:HttpRequestMetaData
Sets the path, performing encoding according to percent-encoding, except for forward-slash ('/'
) characters. This allows forpath("/abc")
without it turning into'%2Fabc'
.- Specified by:
path
in interfaceHttpRequestMetaData
- Parameters:
path
- the un-encoded path to set.- Returns:
this
.
-
appendPathSegments
Description copied from interface:HttpRequestMetaData
Appends segments to the currentHttpRequestMetaData.path()
, performing encoding of each segment (including ('/'
) characters) according to percent-encoding. A/
is used to separate each segment and between the currentHttpRequestMetaData.path()
and the following segments.- Specified by:
appendPathSegments
in interfaceHttpRequestMetaData
- Parameters:
segments
- the un-encoded path to set.- Returns:
this
.
-
rawQuery
Description copied from interface:HttpRequestMetaData
Sets the query component toquery
, without any encoding performed. This assumes that any characters that require encoding have been encoded according to percent-encoding by the caller.Because this modifies the request target, this may result in the clearing of internal caches. See
HttpRequestMetaData.requestTarget(String)
.- Specified by:
rawQuery
in interfaceHttpRequestMetaData
- Parameters:
query
- the encoded query to set.null
will clear the query value (e.g. no?
present inHttpRequestMetaData.requestTarget()
.- Returns:
this
.
-
query
Description copied from interface:HttpRequestMetaData
Sets the path, performing encoding according to rfc3986, Query.- Specified by:
query
in interfaceHttpRequestMetaData
- Parameters:
query
- the un-encoded query to set.null
will clear the query value (e.g. no?
present inHttpRequestMetaData.requestTarget()
.- Returns:
this
.
-
addQueryParameter
Description copied from interface:HttpRequestMetaData
Adds a new query parameter with the specifiedkey
andvalue
, which will be percent-encoded if needed.- Specified by:
addQueryParameter
in interfaceHttpRequestMetaData
- Parameters:
key
- the query parameter key.value
- the query parameter value.- Returns:
this
.
-
addQueryParameters
Description copied from interface:HttpRequestMetaData
Adds new query parameters with the specifiedkey
andvalues
. This method is semantically equivalent to:for (T value : values) { addQueryParameter(key, value); }
- Specified by:
addQueryParameters
in interfaceHttpRequestMetaData
- Parameters:
key
- the query parameter key.values
- the query parameter values.- Returns:
this
.
-
addQueryParameters
Description copied from interface:HttpRequestMetaData
Adds new query parameters with the specifiedkey
andvalues
. This method is semantically equivalent to:for (T value : values) { query.addQueryParameter(key, value); }
- Specified by:
addQueryParameters
in interfaceHttpRequestMetaData
- Parameters:
key
- the query parameter key.values
- the query parameter values.- Returns:
this
.
-
setQueryParameter
Description copied from interface:HttpRequestMetaData
Sets a query parameter with the specifiedkey
andvalue
, which will be percent-encoded if needed. Any existing query parameters with the same key are overwritten.- Specified by:
setQueryParameter
in interfaceHttpRequestMetaData
- Parameters:
key
- the query parameter key.value
- the query parameter value.- Returns:
this
.
-
setQueryParameters
Description copied from interface:HttpRequestMetaData
Sets new query parameters with the specifiedkey
andvalues
. This method is equivalent to:removeQueryParameter(key); for (T value : values) { query.addQueryParameter(key, value); }
- Specified by:
setQueryParameters
in interfaceHttpRequestMetaData
- Parameters:
key
- the query parameter key.values
- the query parameter values.- Returns:
this
.
-
setQueryParameters
Description copied from interface:HttpRequestMetaData
Sets new query parameters with the specifiedkey
andvalues
. This method is equivalent to:removeQueryParameter(key); for (T value : values) { query.addQueryParameter(key, value); }
- Specified by:
setQueryParameters
in interfaceHttpRequestMetaData
- Parameters:
key
- the query parameter key.values
- the query parameter values.- Returns:
this
.
-
fragment
Description copied from interface:HttpRequestMetaData
Sets the fragment part of the request target.- Specified by:
fragment
in interfaceHttpRequestMetaData
- Parameters:
fragment
- the fragment to set.- Returns:
this
.
-
version
Description copied from interface:HttpMetaData
Set the protocol version of thisHttpMetaData
.- Specified by:
version
in interfaceHttpMetaData
- Specified by:
version
in interfaceHttpRequestMetaData
- Parameters:
version
- the protocol version to set.- Returns:
this
.
-
encoding
Deprecated.Description copied from interface:HttpMetaData
TheContentCodec
used to encode the payload of a request or a response. If the endpoint is setup withContentCodingHttpServiceFilter
, the server will auto-establish the accepted encoding for the response, unless the caller provides a specific encoding by calling this method. Any encoding passed here, takes precedence. In other words, a compressed response, can be disabled by passingIdentity.identity()
.- Specified by:
encoding
in interfaceHttpMetaData
- Parameters:
encoding
- TheContentCodec
used for the encoding of the payload.- Returns:
this
.- See Also:
-
contentEncoding
Description copied from interface:HttpRequestMetaData
Set theBufferEncoder
to use for this request. The value can be used by filters (such asContentEncodingHttpRequesterFilter
) to applyHttpHeaderNames.CONTENT_ENCODING
to the request.- Specified by:
contentEncoding
in interfaceHttpRequestMetaData
- Parameters:
encoder
-BufferEncoder
to use for this request.- Returns:
this
.
-
method
Description copied from interface:HttpRequestMetaData
Set theHttpRequestMethod
of thisStreamingHttpRequest
.- Specified by:
method
in interfaceHttpRequestMetaData
- Parameters:
method
- theHttpRequestMethod
to set.- Returns:
this
.
-
requestTarget
Description copied from interface:HttpRequestMetaData
Set the request-target.This will be treated as encoded according to percent-encoding.
This may result in clearing of internal caches used by methods that are derived from the
request-target
, such asHttpRequestMetaData.path()
,HttpRequestMetaData.rawQuery()
, etc.- Specified by:
requestTarget
in interfaceHttpRequestMetaData
- Parameters:
requestTarget
- the percent-encoded request-target to set.- Returns:
this
.
-
requestTarget
Description copied from interface:HttpRequestMetaData
Set the request-target.This may result in clearing of internal caches used by methods that are derived from the
request-target
, such asHttpRequestMetaData.path()
,HttpRequestMetaData.rawQuery()
, etc.- Specified by:
requestTarget
in interfaceHttpRequestMetaData
- Parameters:
requestTarget
- the request-target to set.encoding
- theCharset
to use to encoderequestTarget
before setting the value.- Returns:
this
.
-
addHeader
Description copied from interface:HttpMetaData
Adds a new header with the specifiedname
andvalue
.- Specified by:
addHeader
in interfaceHttpMetaData
- Specified by:
addHeader
in interfaceHttpRequestMetaData
- Parameters:
name
- the name of the header.value
- the value of the header.- Returns:
this
.
-
addHeaders
Description copied from interface:HttpMetaData
Adds all header names and values ofheaders
object.- Specified by:
addHeaders
in interfaceHttpMetaData
- Specified by:
addHeaders
in interfaceHttpRequestMetaData
- Parameters:
headers
- the headers to add.- Returns:
this
.
-
setHeader
Description copied from interface:HttpMetaData
Sets a header with the specifiedname
andvalue
. Any existing headers with the same name are overwritten.- Specified by:
setHeader
in interfaceHttpMetaData
- Specified by:
setHeader
in interfaceHttpRequestMetaData
- Parameters:
name
- the name of the header.value
- the value of the header.- Returns:
this
.
-
setHeaders
Description copied from interface:HttpMetaData
Clears the current header entries and copies all header entries of the specifiedheaders
object.- Specified by:
setHeaders
in interfaceHttpMetaData
- Specified by:
setHeaders
in interfaceHttpRequestMetaData
- Parameters:
headers
- the headers object which contains new values.- Returns:
this
.
-
addCookie
Description copied from interface:HttpMetaData
Adds a cookie.This may result in multiple
HttpCookiePair
s with same name.- Specified by:
addCookie
in interfaceHttpMetaData
- Specified by:
addCookie
in interfaceHttpRequestMetaData
- Parameters:
cookie
- the cookie to add.- Returns:
this
.
-
addCookie
Description copied from interface:HttpMetaData
Adds a cookie with the specifiedname
andvalue
.This may result in multiple
HttpSetCookie
s with same name. Added cookie will not be wrapped, not secure, and not HTTP-only, with no path, domain, expire date and maximum age.- Specified by:
addCookie
in interfaceHttpMetaData
- Specified by:
addCookie
in interfaceHttpRequestMetaData
- Parameters:
name
- the name of the cookie.value
- the value of the cookie.- Returns:
this
.
-
addSetCookie
Description copied from interface:HttpMetaData
Adds a set-cookie.This may result in multiple
HttpSetCookie
s with same name.- Specified by:
addSetCookie
in interfaceHttpMetaData
- Specified by:
addSetCookie
in interfaceHttpRequestMetaData
- Parameters:
cookie
- the cookie to add.- Returns:
this
.
-
addSetCookie
Description copied from interface:HttpMetaData
Adds a set-cookie with the specifiedname
andvalue
.This may result in multiple
HttpSetCookie
s with same name. Added cookie will not be wrapped, not secure, and not HTTP-only, with no path, domain, expire date and maximum age.- Specified by:
addSetCookie
in interfaceHttpMetaData
- Specified by:
addSetCookie
in interfaceHttpRequestMetaData
- Parameters:
name
- the name of the cookie.value
- the value of the cookie.- Returns:
this
.
-
addTrailer
-
addTrailers
-
setTrailer
-
setTrailers
-
context
Description copied from interface:HttpMetaData
Sets a context for thisHttpMetaData
.Context can be used to associate a state with a request or response message without serializing its state on the wire.
- Specified by:
context
in interfaceContextMapHolder
- Specified by:
context
in interfaceHttpMetaData
- Specified by:
context
in interfaceHttpRequestMetaData
- Parameters:
context
- the new context for thisHttpMetaData
.- Returns:
this
.
-
trailers
HttpHeaders trailers()Gets the trailers.- Returns:
- the trailers.
-
payloadBody(HttpDeserializer2)
.