Added MediaType.TEXT_EVENT_STREAM
This commit is contained in:
@@ -184,6 +184,17 @@ public class MediaType extends MimeType implements Serializable {
|
||||
*/
|
||||
public final static String MULTIPART_FORM_DATA_VALUE = "multipart/form-data";
|
||||
|
||||
/**
|
||||
* Public constant media type for {@code text/event-stream}.
|
||||
* @see <a href="https://www.w3.org/TR/eventsource/">Server-Sent Events W3C recommendation</a>
|
||||
*/
|
||||
public final static MediaType TEXT_EVENT_STREAM;
|
||||
|
||||
/**
|
||||
* A String equivalent of {@link MediaType#TEXT_EVENT_STREAM}.
|
||||
*/
|
||||
public final static String TEXT_EVENT_STREAM_VALUE = "text/event-stream";
|
||||
|
||||
/**
|
||||
* Public constant media type for {@code text/html}.
|
||||
*/
|
||||
@@ -244,6 +255,7 @@ public class MediaType extends MimeType implements Serializable {
|
||||
IMAGE_JPEG = valueOf(IMAGE_JPEG_VALUE);
|
||||
IMAGE_PNG = valueOf(IMAGE_PNG_VALUE);
|
||||
MULTIPART_FORM_DATA = valueOf(MULTIPART_FORM_DATA_VALUE);
|
||||
TEXT_EVENT_STREAM = valueOf(TEXT_EVENT_STREAM_VALUE);
|
||||
TEXT_HTML = valueOf(TEXT_HTML_VALUE);
|
||||
TEXT_MARKDOWN = valueOf(TEXT_MARKDOWN_VALUE);
|
||||
TEXT_PLAIN = valueOf(TEXT_PLAIN_VALUE);
|
||||
|
||||
@@ -48,8 +48,6 @@ import org.springframework.util.MimeTypeUtils;
|
||||
*/
|
||||
public class ServerSentEventHttpMessageWriter implements HttpMessageWriter<Object> {
|
||||
|
||||
private static final MediaType TEXT_EVENT_STREAM = new MediaType("text", "event-stream");
|
||||
|
||||
private final List<Encoder<?>> dataEncoders;
|
||||
|
||||
|
||||
@@ -65,20 +63,20 @@ public class ServerSentEventHttpMessageWriter implements HttpMessageWriter<Objec
|
||||
|
||||
@Override
|
||||
public boolean canWrite(ResolvableType elementType, MediaType mediaType) {
|
||||
return mediaType == null || TEXT_EVENT_STREAM.isCompatibleWith(mediaType) ||
|
||||
return mediaType == null || MediaType.TEXT_EVENT_STREAM.isCompatibleWith(mediaType) ||
|
||||
ServerSentEvent.class.isAssignableFrom(elementType.getRawClass());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MediaType> getWritableMediaTypes() {
|
||||
return Collections.singletonList(TEXT_EVENT_STREAM);
|
||||
return Collections.singletonList(MediaType.TEXT_EVENT_STREAM);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> write(Publisher<?> inputStream, ResolvableType elementType, MediaType mediaType,
|
||||
ReactiveHttpOutputMessage outputMessage, Map<String, Object> hints) {
|
||||
|
||||
outputMessage.getHeaders().setContentType(TEXT_EVENT_STREAM);
|
||||
outputMessage.getHeaders().setContentType(MediaType.TEXT_EVENT_STREAM);
|
||||
|
||||
DataBufferFactory bufferFactory = outputMessage.bufferFactory();
|
||||
Flux<Publisher<DataBuffer>> body = encode(inputStream, bufferFactory, elementType, hints);
|
||||
|
||||
Reference in New Issue
Block a user