Package org.springframework.http.codec
Class ServerSentEventHttpMessageWriter
java.lang.Object
org.springframework.http.codec.ServerSentEventHttpMessageWriter
- All Implemented Interfaces:
HttpMessageWriter<Object>
HttpMessageWriter
for "text/event-stream"
responses.- Since:
- 5.0
- Author:
- Sebastien Deleuze, Arjen Poutsma, Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionConstructor without anEncoder
.ServerSentEventHttpMessageWriter
(Encoder<?> encoder) Constructor with JSONEncoder
for encoding objects. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canWrite
(ResolvableType elementType, MediaType mediaType) Whether the given object type is supported by this writer.Encoder<?>
Return the configuredEncoder
, if any.Return the list of media types supported by this Writer.reactor.core.publisher.Mono<Void>
write
(Publisher<?> input, ResolvableType actualType, ResolvableType elementType, MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) Server-side only alternative toHttpMessageWriter.write(Publisher, ResolvableType, MediaType, ReactiveHttpOutputMessage, Map)
with additional context available.reactor.core.publisher.Mono<Void>
write
(Publisher<?> input, ResolvableType elementType, MediaType mediaType, ReactiveHttpOutputMessage message, Map<String, Object> hints) Write a given stream of object to the output message.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.http.codec.HttpMessageWriter
getWritableMediaTypes
-
Constructor Details
-
ServerSentEventHttpMessageWriter
public ServerSentEventHttpMessageWriter()Constructor without anEncoder
. In this mode onlyString
is supported for event data to be encoded. -
ServerSentEventHttpMessageWriter
Constructor with JSONEncoder
for encoding objects. Support forString
event data is built-in.- Parameters:
encoder
- the Encoder to use (may benull
)
-
-
Method Details
-
getEncoder
Return the configuredEncoder
, if any. -
getWritableMediaTypes
Description copied from interface:HttpMessageWriter
Return the list of media types supported by this Writer. The list may not apply to every possible target element type and calls to this method should typically be guarded viacanWrite(elementType, null)
. The list may also exclude media types supported only for a specific element type. Alternatively, useHttpMessageWriter.getWritableMediaTypes(ResolvableType)
for a more precise list.- Specified by:
getWritableMediaTypes
in interfaceHttpMessageWriter<Object>
- Returns:
- the general list of supported media types
-
canWrite
Description copied from interface:HttpMessageWriter
Whether the given object type is supported by this writer.- Specified by:
canWrite
in interfaceHttpMessageWriter<Object>
- Parameters:
elementType
- the type of object to checkmediaType
- the media type for the write (possiblynull
)- Returns:
true
if writable,false
otherwise
-
write
public reactor.core.publisher.Mono<Void> write(Publisher<?> input, ResolvableType elementType, @Nullable MediaType mediaType, ReactiveHttpOutputMessage message, Map<String, Object> hints) Description copied from interface:HttpMessageWriter
Write a given stream of object to the output message.- Specified by:
write
in interfaceHttpMessageWriter<Object>
- Parameters:
input
- the objects to writeelementType
- the type of objects in the stream which must have been previously checked viaHttpMessageWriter.canWrite(ResolvableType, MediaType)
mediaType
- the content type for the write (possiblynull
to indicate that the default content type of the writer must be used)message
- the message to write tohints
- additional information about how to encode and write- Returns:
- indicates completion or error
-
write
public reactor.core.publisher.Mono<Void> write(Publisher<?> input, ResolvableType actualType, ResolvableType elementType, @Nullable MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) Description copied from interface:HttpMessageWriter
Server-side only alternative toHttpMessageWriter.write(Publisher, ResolvableType, MediaType, ReactiveHttpOutputMessage, Map)
with additional context available.- Specified by:
write
in interfaceHttpMessageWriter<Object>
actualType
- the actual return type of the method that returned the value; for annotated controllers, theMethodParameter
can be accessed viaResolvableType.getSource()
.elementType
- the type of Objects in the input streammediaType
- the content type to use (possiblynull
indicating the default content type of the writer should be used)request
- the current requestresponse
- the current response- Returns:
- a
Mono
that indicates completion of writing or error
-