Interface StreamingHttpResponse
- All Superinterfaces:
ContextMapHolder
,HttpMetaData
,HttpResponseMetaData
HttpResponse
but provides the payload as a Publisher
.-
Method Summary
Modifier and TypeMethodDescriptiondefault StreamingHttpResponse
addCookie
(HttpCookiePair cookie) Adds a cookie.default StreamingHttpResponse
addCookie
(CharSequence name, CharSequence value) default StreamingHttpResponse
addHeader
(CharSequence name, CharSequence value) Adds a new header with the specifiedname
andvalue
.default StreamingHttpResponse
addHeaders
(HttpHeaders headers) Adds all header names and values ofheaders
object.default StreamingHttpResponse
addSetCookie
(HttpSetCookie cookie) Adds a set-cookie.default StreamingHttpResponse
addSetCookie
(CharSequence name, CharSequence value) context
(ContextMap context) Sets a context for thisHttpMetaData
.default StreamingHttpResponse
encoding
(ContentCodec encoding) Deprecated.Get the message-body which contains the payload body concatenated with the trailer (if present).payloadBody
(Publisher<Buffer> payloadBody) Returns aStreamingHttpResponse
with its underlying payload set topayloadBody
.default <T> StreamingHttpResponse
payloadBody
(Publisher<T> payloadBody, HttpSerializer<T> serializer) Deprecated.payloadBody
(Publisher<T> payloadBody, HttpStreamingSerializer<T> serializer) Returns aStreamingHttpResponse
with its underlying payload set to the result of serialization.default <T> Publisher<T>
payloadBody
(HttpDeserializer<T> deserializer) Deprecated.<T> Publisher<T>
payloadBody
(HttpStreamingDeserializer<T> deserializer) Gets and deserializes the payload body.default StreamingHttpResponse
setHeader
(CharSequence name, CharSequence value) Sets a header with the specifiedname
andvalue
.default StreamingHttpResponse
setHeaders
(HttpHeaders headers) Clears the current header entries and copies all header entries of the specifiedheaders
object.Translates thisStreamingHttpResponse
to aBlockingStreamingHttpResponse
.Translates thisStreamingHttpResponse
to aHttpResponse
.transform
(TrailersTransformer<T, Buffer> trailersTransformer) Returns aStreamingHttpResponse
with its underlying payload transformed toBuffer
s, with access to the trailers.<T,
S> StreamingHttpResponse transform
(TrailersTransformer<T, S> trailersTransformer, HttpStreamingDeserializer<S> deserializer) Returns aStreamingHttpResponse
with its underlying payload transformed toStreamingHttpResponse
s, with access to the trailers.transformMessageBody
(UnaryOperator<Publisher<?>> transformer) Transform the message-body which contains the payload body concatenated with the trailer (if present).default <T> StreamingHttpResponse
transformPayloadBody
(Function<Publisher<Buffer>, Publisher<T>> transformer, HttpSerializer<T> serializer) Deprecated.transformPayloadBody
(Function<Publisher<Buffer>, Publisher<T>> transformer, HttpStreamingSerializer<T> serializer) Returns aStreamingHttpResponse
with its underlying payload transformed to the result of serialization.default <T,
R> StreamingHttpResponse transformPayloadBody
(Function<Publisher<T>, Publisher<R>> transformer, HttpDeserializer<T> deserializer, HttpSerializer<R> serializer) <T,
R> StreamingHttpResponse transformPayloadBody
(Function<Publisher<T>, Publisher<R>> transformer, HttpStreamingDeserializer<T> deserializer, HttpStreamingSerializer<R> serializer) Returns aStreamingHttpResponse
with its underlying payload transformed to the result of serialization.transformPayloadBody
(UnaryOperator<Publisher<Buffer>> transformer) Returns aStreamingHttpResponse
with its underlying payload transformed toBuffer
s.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.HttpResponseMetaData
status, status
-
Method Details
-
payloadBody
-
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 underlyingPublisher
.- 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 underlyingPublisher
.- Returns:
- The results of the deserialization operation.
-
messageBody
Get the message-body which contains the payload body concatenated with the trailer (if present).- Returns:
- a
Publisher
that represents the message-body which contains the payload body concatenated with the trailer (if present).
-
payloadBody
Returns aStreamingHttpResponse
with its underlying payload set topayloadBody
.A best effort will be made to apply back pressure to the existing
Publisher
payload body. If this default policy is not sufficient you can usetransformPayloadBody(UnaryOperator)
for more fine grain control.This method reserves the right to delay completion/consumption of
payloadBody
. This may occur due to the combination with the existingPublisher
payload body.- Parameters:
payloadBody
- The new payload body.- Returns:
this
-
payloadBody
@Deprecated default <T> StreamingHttpResponse payloadBody(Publisher<T> payloadBody, HttpSerializer<T> serializer) Deprecated.Returns aStreamingHttpResponse
with its underlying payload set to the result of serialization.A best effort will be made to apply back pressure to the existing
Publisher
payload body. If this default policy is not sufficient you can usetransformPayloadBody(Function, HttpSerializer)
for more fine grain control.This method reserves the right to delay completion/consumption of
payloadBody
. This may occur due to the combination with the existingPublisher
payload body.- Type Parameters:
T
- The type of objects to serialize.- Parameters:
payloadBody
- The new payload body, prior to serialization.serializer
- Used to serialize the payload body.- Returns:
this
-
payloadBody
<T> StreamingHttpResponse payloadBody(Publisher<T> payloadBody, HttpStreamingSerializer<T> serializer) Returns aStreamingHttpResponse
with its underlying payload set to the result of serialization.A best effort will be made to apply back pressure to the existing
Publisher
payload body. If this default policy is not sufficient you can usetransformPayloadBody(Function, HttpStreamingSerializer)
for more fine grain control.This method reserves the right to delay completion/consumption of
payloadBody
. This may occur due to the combination with the existingPublisher
payload body.- Type Parameters:
T
- The type of objects to serialize.- Parameters:
payloadBody
- The new payload body, prior to serialization.serializer
- Used to serialize the payload body.- Returns:
this
-
transformPayloadBody
@Deprecated default <T> StreamingHttpResponse transformPayloadBody(Function<Publisher<Buffer>, Publisher<T>> transformer, HttpSerializer<T> serializer) Deprecated.Returns aStreamingHttpResponse
with its underlying payload transformed to the result of serialization.- Type Parameters:
T
- The type of objects to serialize.- Parameters:
transformer
- AFunction
which take as a parameter the existing payload bodyPublisher
and returns the new payload bodyPublisher
prior to serialization. It is assumed the existing payload bodyPublisher
will be transformed/consumed or else no more responses may be processed.serializer
- Used to serialize the payload body.- Returns:
this
-
transformPayloadBody
<T> StreamingHttpResponse transformPayloadBody(Function<Publisher<Buffer>, Publisher<T>> transformer, HttpStreamingSerializer<T> serializer) Returns aStreamingHttpResponse
with its underlying payload transformed to the result of serialization.- Type Parameters:
T
- The type of objects to serialize.- Parameters:
transformer
- AFunction
which take as a parameter the existing payload bodyPublisher
and returns the new payload bodyPublisher
prior to serialization. It is assumed the existing payload bodyPublisher
will be transformed/consumed or else no more responses may be processed.serializer
- Used to serialize the payload body.- Returns:
this
-
transformPayloadBody
@Deprecated default <T,R> StreamingHttpResponse transformPayloadBody(Function<Publisher<T>, Publisher<R>> transformer, HttpDeserializer<T> deserializer, HttpSerializer<R> serializer) Returns aStreamingHttpResponse
with its underlying payload transformed to the result of serialization.- Type Parameters:
T
- The type of objects to deserialize.R
- The type of objects to serialize.- Parameters:
transformer
- AFunction
which take as a parameter the existing payload bodyPublisher
and returns the new payload bodyPublisher
prior to serialization. It is assumed the existing payload bodyPublisher
will be transformed/consumed or else no more requests may be processed.deserializer
- Used to deserialize the existing payload body.serializer
- Used to serialize the payload body.- Returns:
this
-
transformPayloadBody
<T,R> StreamingHttpResponse transformPayloadBody(Function<Publisher<T>, Publisher<R>> transformer, HttpStreamingDeserializer<T> deserializer, HttpStreamingSerializer<R> serializer) Returns aStreamingHttpResponse
with its underlying payload transformed to the result of serialization.- Type Parameters:
T
- The type of objects to deserialize.R
- The type of objects to serialize.- Parameters:
transformer
- AFunction
which take as a parameter the existing payload bodyPublisher
and returns the new payload bodyPublisher
prior to serialization. It is assumed the existing payload bodyPublisher
will be transformed/consumed or else no more requests may be processed.deserializer
- Used to deserialize the existing payload body.serializer
- Used to serialize the payload body.- Returns:
this
-
transformPayloadBody
Returns aStreamingHttpResponse
with its underlying payload transformed toBuffer
s. -
transformMessageBody
Transform the message-body which contains the payload body concatenated with the trailer (if present).The transformation is not expected to change the content of the message body
Publisher
or presence of trailers in it. For example, behavior is undefined if a content is altered (added/removed/resized) ortrailers
are inserted to or removed from to the returnedPublisher
. To alter the payload body content usetransformPayloadBody(UnaryOperator)
method, its overloads, ortransform(TrailersTransformer)
method which can also be used to modify trailers.- Parameters:
transformer
- Responsible for transforming the message-body.- Returns:
this
.
-
transform
Returns aStreamingHttpResponse
with its underlying payload transformed toBuffer
s, with access to the trailers.- Type Parameters:
T
- The type of state used during the transformation.- Parameters:
trailersTransformer
-TrailersTransformer
to use for this transform.- Returns:
this
-
transform
<T,S> StreamingHttpResponse transform(TrailersTransformer<T, S> trailersTransformer, HttpStreamingDeserializer<S> deserializer) Returns aStreamingHttpResponse
with its underlying payload transformed toStreamingHttpResponse
s, with access to the trailers.- Type Parameters:
T
- The type of state used during the transformation.S
- The type of objects to deserialize.- Parameters:
trailersTransformer
-TrailersTransformer
to use for this transform.deserializer
- Used to deserialize the existing payload body.- Returns:
this
-
toResponse
Single<HttpResponse> toResponse()Translates thisStreamingHttpResponse
to aHttpResponse
.- Returns:
- a
Single
that completes with aHttpResponse
representation of thisStreamingHttpResponse
.
-
toBlockingStreamingResponse
BlockingStreamingHttpResponse toBlockingStreamingResponse()Translates thisStreamingHttpResponse
to aBlockingStreamingHttpResponse
.- Returns:
- a
BlockingStreamingHttpResponse
representation of thisStreamingHttpResponse
.
-
version
Description copied from interface:HttpMetaData
Set the protocol version of thisHttpMetaData
.- Specified by:
version
in interfaceHttpMetaData
- Specified by:
version
in interfaceHttpResponseMetaData
- 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:
-
addHeader
Description copied from interface:HttpMetaData
Adds a new header with the specifiedname
andvalue
.- Specified by:
addHeader
in interfaceHttpMetaData
- Specified by:
addHeader
in interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- 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 interfaceHttpResponseMetaData
- Parameters:
name
- the name of the cookie.value
- the value of the cookie.- Returns:
this
.
-
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 interfaceHttpResponseMetaData
- Parameters:
context
- the new context for thisHttpMetaData
.- Returns:
this
.
-
payloadBody(Publisher, HttpStreamingSerializer)
.