public interface ResponseBody
Represents the payload body of a server response in a server exchange.
The response body basically provides multiple ways to produce the response payload.
- Since:
- 1.0
- Author:
- Jeremy Kuhn
- See Also:
Response
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA resource payload producer.static interfaceResponseBody.Sse<A,B extends ResponseBody.Sse.Event<A>,C extends ResponseBody.Sse.EventFactory<A,B>>A server-sent events payload producer as defined by Server-Sent Events. -
Method Summary
Modifier and TypeMethodDescriptionvoidempty()Produces an empty payload.ResponseData<io.netty.buffer.ByteBuf>raw()Returns a raw payload producer.resource()Returns a resource payload producer.ResponseBody.Sse<io.netty.buffer.ByteBuf,ResponseBody.Sse.Event<io.netty.buffer.ByteBuf>,ResponseBody.Sse.EventFactory<io.netty.buffer.ByteBuf,ResponseBody.Sse.Event<io.netty.buffer.ByteBuf>>>sse()Returns a server-sent events payload producer as defined by Server-Sent Events.<T extends CharSequence>
ResponseBody.Sse<T,ResponseBody.Sse.Event<T>,ResponseBody.Sse.EventFactory<T,ResponseBody.Sse.Event<T>>>Returns a server-sent events payload producer as defined by Server-Sent Events.<T extends CharSequence>
ResponseData<T>string()Returns a string payload producer.
-
Method Details
-
empty
void empty()Produces an empty payload.
If a payload has already been provided this method does nothing.
A typical usage is:
exchange.response().body().empty();
-
raw
ResponseData<io.netty.buffer.ByteBuf> raw()Returns a raw payload producer.
A typical usage is:
exchange.response().body().raw().stream( Flux.just( Unpooled.unreleasableBuffer(Unpooled.copiedBuffer("Hello ", Charsets.DEFAULT)), Unpooled.unreleasableBuffer(Unpooled.copiedBuffer("World!", Charsets.DEFAULT)) ) );- Returns:
- a raw payload producer
-
string
Returns a string payload producer.
A typical usage is:
exchange.response().body().string().stream( Flux.just( Unpooled.unreleasableBuffer("Hello "), Unpooled.unreleasableBuffer("World!") ) );- Returns:
- a string payload producer
-
resource
ResponseBody.Resource resource()Returns a resource payload producer.
A typical usage is:
ResourceService resourceService = ... exchange.response().body().resource().value(resourceService.get("file:/path/to/resource");- Returns:
- a resource payload producer
-
sse
ResponseBody.Sse<io.netty.buffer.ByteBuf,ResponseBody.Sse.Event<io.netty.buffer.ByteBuf>,ResponseBody.Sse.EventFactory<io.netty.buffer.ByteBuf,ResponseBody.Sse.Event<io.netty.buffer.ByteBuf>>> sse()Returns a server-sent events payload producer as defined by Server-Sent Events.
A typical usage is:
exchange.response().body().sse().from( (events, data) -> Flux.interval(Duration.ofSeconds(1)) .map(seq -> events.create(event -> event .id(Long.toString(seq)) .event("seq") .value(Unpooled.unreleasableBuffer(Unpooled.copiedBuffer("Event #" + seq, Charsets.DEFAULT))) ) ) );- Returns:
- a server-sent events payload producer
-
sseString
<T extends CharSequence> ResponseBody.Sse<T,ResponseBody.Sse.Event<T>,ResponseBody.Sse.EventFactory<T,ResponseBody.Sse.Event<T>>> sseString()Returns a server-sent events payload producer as defined by Server-Sent Events.
A typical usage is:
exchange.response().body().sseString().from( (events, data) -> Flux.interval(Duration.ofSeconds(1)) .map(seq -> events.create(event -> event .id(Long.toString(seq)) .event("seq") .value("Event #" + seq, Charsets.DEFAULT)) ) ) );- Returns:
- a server-sent events payload producer
-