Interface BlockingStreamingHttpResponse
-
- All Superinterfaces:
HttpMetaData
,HttpResponseMetaData
public interface BlockingStreamingHttpResponse extends HttpResponseMetaData
The equivalent ofHttpResponse
but provides the payload as aBlockingIterable
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default BlockingStreamingHttpResponse
addCookie(HttpCookiePair cookie)
Adds a cookie.default BlockingStreamingHttpResponse
addCookie(java.lang.CharSequence name, java.lang.CharSequence value)
default BlockingStreamingHttpResponse
addHeader(java.lang.CharSequence name, java.lang.CharSequence value)
Adds a new header with the specifiedname
andvalue
.default BlockingStreamingHttpResponse
addHeaders(HttpHeaders headers)
Adds all header names and values ofheaders
object.default BlockingStreamingHttpResponse
addSetCookie(HttpSetCookie cookie)
Adds a set-cookie.default BlockingStreamingHttpResponse
addSetCookie(java.lang.CharSequence name, java.lang.CharSequence value)
BlockingIterable<Buffer>
payloadBody()
BlockingStreamingHttpResponse
payloadBody(CloseableIterable<Buffer> payloadBody)
Returns aBlockingStreamingHttpResponse
with its underlying payload set topayloadBody
.<T> BlockingStreamingHttpResponse
payloadBody(CloseableIterable<T> payloadBody, HttpSerializer<T> serializer)
Returns aBlockingStreamingHttpResponse
with its underlying payload set to the result of serialization.default <T> BlockingIterable<T>
payloadBody(HttpDeserializer<T> deserializer)
Gets and deserializes the payload body.BlockingStreamingHttpResponse
payloadBody(java.io.InputStream payloadBody)
Returns aBlockingStreamingHttpResponse
with its underlying payload set topayloadBody
.BlockingStreamingHttpResponse
payloadBody(java.lang.Iterable<Buffer> payloadBody)
Returns aBlockingStreamingHttpResponse
with its underlying payload set topayloadBody
.<T> BlockingStreamingHttpResponse
payloadBody(java.lang.Iterable<T> payloadBody, HttpSerializer<T> serializer)
Returns aBlockingStreamingHttpResponse
with its underlying payload set to the result of serialization.default java.io.InputStream
payloadBodyInputStream()
Gets the underlying payload as aInputStream
.default BlockingStreamingHttpResponse
setHeader(java.lang.CharSequence name, java.lang.CharSequence value)
Sets a header with the specifiedname
andvalue
.default BlockingStreamingHttpResponse
setHeaders(HttpHeaders headers)
Clears the current header entries and copies all header entries of the specifiedheaders
object.BlockingStreamingHttpResponse
status(HttpResponseStatus status)
Set the status of thisStreamingHttpResponse
.Single<HttpResponse>
toResponse()
Translates thisBlockingStreamingHttpResponse
to aHttpResponse
.StreamingHttpResponse
toStreamingResponse()
Translates thisBlockingStreamingHttpResponse
to aStreamingHttpResponse
.<T> BlockingStreamingHttpResponse
transform(TrailersTransformer<T,Buffer> trailersTransformer)
Returns aBlockingStreamingHttpResponse
with its underlying payload transformed toBuffer
s, with access to the trailers.<T> BlockingStreamingHttpResponse
transformPayloadBody(java.util.function.Function<BlockingIterable<Buffer>,BlockingIterable<T>> transformer, HttpSerializer<T> serializer)
Returns aBlockingStreamingHttpResponse
with its underlying payload transformed to the result of serialization.default <T,R>
BlockingStreamingHttpResponsetransformPayloadBody(java.util.function.Function<BlockingIterable<T>,BlockingIterable<R>> transformer, HttpDeserializer<T> deserializer, HttpSerializer<R> serializer)
Returns aBlockingStreamingHttpResponse
with its underlying payload transformed to the result of serialization.BlockingStreamingHttpResponse
transformPayloadBody(java.util.function.UnaryOperator<BlockingIterable<Buffer>> transformer)
Returns aBlockingStreamingHttpResponse
with its underlying payload transformed toBuffer
s.<T> BlockingStreamingHttpResponse
transformRaw(TrailersTransformer<T,java.lang.Object> trailersTransformer)
Deprecated.BlockingStreamingHttpResponse
transformRawPayloadBody(java.util.function.UnaryOperator<BlockingIterable<?>> transformer)
Deprecated.BlockingStreamingHttpResponse
version(HttpProtocolVersion version)
Set the protocol version of thisHttpMetaData
.-
Methods inherited from interface io.servicetalk.http.api.HttpMetaData
encoding, encoding, headers, toString, toString, version
-
Methods inherited from interface io.servicetalk.http.api.HttpResponseMetaData
status
-
-
-
-
Method Detail
-
payloadBody
BlockingIterable<Buffer> payloadBody()
-
payloadBodyInputStream
default java.io.InputStream payloadBodyInputStream()
Gets the underlying payload as aInputStream
.- Returns:
- The
InputStream
representation of the underlying payload body.
-
payloadBody
default <T> BlockingIterable<T> payloadBody(HttpDeserializer<T> deserializer)
Gets and deserializes the payload body.- Type Parameters:
T
- The resulting type of the deserialization operation.- Parameters:
deserializer
- The function that deserializes the underlyingBlockingIterable
.- Returns:
- The results of the deserialization operation.
-
payloadBody
BlockingStreamingHttpResponse payloadBody(java.lang.Iterable<Buffer> payloadBody)
Returns aBlockingStreamingHttpResponse
with its underlying payload set topayloadBody
.A best effort will be made to apply back pressure to the existing payload body which is being replaced. If this default policy is not sufficient you can use
transformPayloadBody(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 existing payload body that is being replaced.- Parameters:
payloadBody
- The new payload body.- Returns:
this
-
payloadBody
BlockingStreamingHttpResponse payloadBody(CloseableIterable<Buffer> payloadBody)
Returns aBlockingStreamingHttpResponse
with its underlying payload set topayloadBody
.A best effort will be made to apply back pressure to the existing payload body which is being replaced. If this default policy is not sufficient you can use
transformPayloadBody(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 existing payload body that is being replaced.- Parameters:
payloadBody
- The new payload body.- Returns:
this
-
payloadBody
BlockingStreamingHttpResponse payloadBody(java.io.InputStream payloadBody)
Returns aBlockingStreamingHttpResponse
with its underlying payload set topayloadBody
.A best effort will be made to apply back pressure to the existing payload body which is being replaced. If this default policy is not sufficient you can use
transformPayloadBody(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 existing payload body that is being replaced.- Parameters:
payloadBody
- The new payload body.- Returns:
this
-
payloadBody
<T> BlockingStreamingHttpResponse payloadBody(java.lang.Iterable<T> payloadBody, HttpSerializer<T> serializer)
Returns aBlockingStreamingHttpResponse
with its underlying payload set to the result of serialization.A best effort will be made to apply back pressure to the existing payload body which is being replaced. If this default policy is not sufficient you can use
transformPayloadBody(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 existing payload body that is being replaced.- 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> BlockingStreamingHttpResponse payloadBody(CloseableIterable<T> payloadBody, HttpSerializer<T> serializer)
Returns aBlockingStreamingHttpResponse
with its underlying payload set to the result of serialization.A best effort will be made to apply back pressure to the existing payload body which is being replaced. If this default policy is not sufficient you can use
transformPayloadBody(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 existing payload body that is being replaced.- 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
<T> BlockingStreamingHttpResponse transformPayloadBody(java.util.function.Function<BlockingIterable<Buffer>,BlockingIterable<T>> transformer, HttpSerializer<T> serializer)
Returns aBlockingStreamingHttpResponse
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 bodyBlockingIterable
and returns the new payload bodyBlockingIterable
prior to serialization. It is assumed the existing payload bodyBlockingIterable
will be transformed/consumed or else no more responses may be processed.serializer
- Used to serialize the payload body.- Returns:
this
-
transformPayloadBody
default <T,R> BlockingStreamingHttpResponse transformPayloadBody(java.util.function.Function<BlockingIterable<T>,BlockingIterable<R>> transformer, HttpDeserializer<T> deserializer, HttpSerializer<R> serializer)
Returns aBlockingStreamingHttpResponse
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 bodyBlockingIterable
and returns the new payload bodyBlockingIterable
prior to serialization. It is assumed the existing payload bodyBlockingIterable
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
BlockingStreamingHttpResponse transformPayloadBody(java.util.function.UnaryOperator<BlockingIterable<Buffer>> transformer)
Returns aBlockingStreamingHttpResponse
with its underlying payload transformed toBuffer
s.- Parameters:
transformer
- AFunction
which take as a parameter the existing payload bodyBlockingIterable
and returns the new payload bodyBlockingIterable
. It is assumed the existing payload bodyBlockingIterable
will be transformed/consumed or else no more responses may be processed.- Returns:
this
-
transformRawPayloadBody
@Deprecated BlockingStreamingHttpResponse transformRawPayloadBody(java.util.function.UnaryOperator<BlockingIterable<?>> transformer)
Deprecated.Returns aBlockingStreamingHttpResponse
with its underlying payload transformed.- Parameters:
transformer
- AFunction
which take as a parameter the existing payload bodyBlockingIterable
and returns the new payload bodyBlockingIterable
. It is assumed the existing payload bodyBlockingIterable
will be transformed/consumed or else no more responses may be processed.- Returns:
this
-
transform
<T> BlockingStreamingHttpResponse transform(TrailersTransformer<T,Buffer> trailersTransformer)
Returns aBlockingStreamingHttpResponse
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
-
transformRaw
@Deprecated <T> BlockingStreamingHttpResponse transformRaw(TrailersTransformer<T,java.lang.Object> trailersTransformer)
Deprecated.Returns aBlockingStreamingHttpResponse
with its underlying payload transformed toObject
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
-
toResponse
Single<HttpResponse> toResponse()
Translates thisBlockingStreamingHttpResponse
to aHttpResponse
.- Returns:
- a
Single
that completes with aHttpResponse
representation of thisBlockingStreamingHttpResponse
.
-
toStreamingResponse
StreamingHttpResponse toStreamingResponse()
Translates thisBlockingStreamingHttpResponse
to aStreamingHttpResponse
.- Returns:
- a
StreamingHttpResponse
representation of thisBlockingStreamingHttpResponse
.
-
version
BlockingStreamingHttpResponse version(HttpProtocolVersion 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
.
-
status
BlockingStreamingHttpResponse status(HttpResponseStatus status)
Description copied from interface:HttpResponseMetaData
Set the status of thisStreamingHttpResponse
.- Specified by:
status
in interfaceHttpResponseMetaData
- Parameters:
status
- TheHttpResponseStatus
to set.- Returns:
this
.
-
addHeader
default BlockingStreamingHttpResponse addHeader(java.lang.CharSequence name, java.lang.CharSequence value)
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
default BlockingStreamingHttpResponse addHeaders(HttpHeaders headers)
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
default BlockingStreamingHttpResponse setHeader(java.lang.CharSequence name, java.lang.CharSequence value)
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
default BlockingStreamingHttpResponse setHeaders(HttpHeaders headers)
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
default BlockingStreamingHttpResponse addCookie(HttpCookiePair cookie)
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
default BlockingStreamingHttpResponse addCookie(java.lang.CharSequence name, java.lang.CharSequence value)
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
default BlockingStreamingHttpResponse addSetCookie(HttpSetCookie cookie)
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
default BlockingStreamingHttpResponse addSetCookie(java.lang.CharSequence name, java.lang.CharSequence value)
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
.
-
-