From 94930043fdcbd85d0aa4db1a4e61c175a0390e82 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Fri, 21 Oct 2016 17:44:52 +0200 Subject: [PATCH] Added MediaType.TEXT_EVENT_STREAM --- .../java/org/springframework/http/MediaType.java | 12 ++++++++++++ .../http/codec/ServerSentEventHttpMessageWriter.java | 8 +++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/MediaType.java b/spring-web/src/main/java/org/springframework/http/MediaType.java index 5d0567d5f8..29343f7a96 100644 --- a/spring-web/src/main/java/org/springframework/http/MediaType.java +++ b/spring-web/src/main/java/org/springframework/http/MediaType.java @@ -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 Server-Sent Events W3C recommendation + */ + 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); diff --git a/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java index 0bef29e1fc..bfcbf0e66b 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java @@ -48,8 +48,6 @@ import org.springframework.util.MimeTypeUtils; */ public class ServerSentEventHttpMessageWriter implements HttpMessageWriter { - private static final MediaType TEXT_EVENT_STREAM = new MediaType("text", "event-stream"); - private final List> dataEncoders; @@ -65,20 +63,20 @@ public class ServerSentEventHttpMessageWriter implements HttpMessageWriter getWritableMediaTypes() { - return Collections.singletonList(TEXT_EVENT_STREAM); + return Collections.singletonList(MediaType.TEXT_EVENT_STREAM); } @Override public Mono write(Publisher inputStream, ResolvableType elementType, MediaType mediaType, ReactiveHttpOutputMessage outputMessage, Map hints) { - outputMessage.getHeaders().setContentType(TEXT_EVENT_STREAM); + outputMessage.getHeaders().setContentType(MediaType.TEXT_EVENT_STREAM); DataBufferFactory bufferFactory = outputMessage.bufferFactory(); Flux> body = encode(inputStream, bufferFactory, elementType, hints);