/** * {@inheritDoc} * <p>The implementation of this method for {@link HttpMessageWriterView} * delegates to {@link HttpMessageWriter#getWritableMediaTypes()}. */ @Override public List<MediaType> getSupportedMediaTypes() { return this.writer.getWritableMediaTypes(); }
private static List<MediaType> initMediaTypes(@Nullable HttpMessageWriter<?> formWriter) { List<MediaType> result = new ArrayList<>(); result.add(MediaType.MULTIPART_FORM_DATA); if (formWriter != null) { result.addAll(formWriter.getWritableMediaTypes()); } return Collections.unmodifiableList(result); }
private static UnsupportedMediaTypeException unsupportedError(ResolvableType bodyType, BodyInserter.Context context, @Nullable MediaType mediaType) { List<MediaType> supportedMediaTypes = context.messageWriters().stream() .flatMap(reader -> reader.getWritableMediaTypes().stream()) .collect(Collectors.toList()); return new UnsupportedMediaTypeException(mediaType, supportedMediaTypes, bodyType); }
private List<MediaType> getMediaTypesFor(ResolvableType elementType) { return getMessageWriters().stream() .filter(converter -> converter.canWrite(elementType, null)) .flatMap(converter -> converter.getWritableMediaTypes().stream()) .collect(Collectors.toList()); }
private static List<MediaType> initMediaTypes(@Nullable HttpMessageWriter<?> formWriter) { List<MediaType> result = new ArrayList<>(); result.add(MediaType.MULTIPART_FORM_DATA); if (formWriter != null) { result.addAll(formWriter.getWritableMediaTypes()); } return Collections.unmodifiableList(result); }
@Test public void getWritableMediaTypes() { HttpMessageWriter<?> writer = getWriter(MimeTypeUtils.TEXT_HTML, MimeTypeUtils.TEXT_XML); assertEquals(Arrays.asList(TEXT_HTML, TEXT_XML), writer.getWritableMediaTypes()); }
private List<MediaType> getProducibleMediaTypes(ResolvableType elementType) { return this.codecConfigurer.getWriters() .stream() .filter(converter -> converter.canWrite(elementType, null)) .flatMap(converter -> converter.getWritableMediaTypes().stream()) .collect(Collectors.toList()); }
/** * Create a View that delegates to the given message messageWriter. */ public HttpMessageWriterView(HttpMessageWriter<?> messageWriter) { Assert.notNull(messageWriter, "'messageWriter' is required."); this.messageWriter = messageWriter; this.mediaTypes = messageWriter.getWritableMediaTypes(); }
private static List<MediaType> initMediaTypes(@Nullable HttpMessageWriter<?> formWriter) { List<MediaType> result = new ArrayList<>(); result.add(MediaType.MULTIPART_FORM_DATA); if (formWriter != null) { result.addAll(formWriter.getWritableMediaTypes()); } return Collections.unmodifiableList(result); }
private static List<MediaType> initMediaTypes(@Nullable HttpMessageWriter<?> formWriter) { List<MediaType> result = new ArrayList<>(); result.add(MediaType.MULTIPART_FORM_DATA); if (formWriter != null) { result.addAll(formWriter.getWritableMediaTypes()); } return Collections.unmodifiableList(result); }
private List<MediaType> getProducibleMediaTypes(ResolvableType elementType) { return getMessageWriters().stream() .filter(converter -> converter.canWrite(elementType, null)) .flatMap(converter -> converter.getWritableMediaTypes().stream()) .collect(Collectors.toList()); }
private static <T, P extends Publisher<?>, M extends ReactiveHttpOutputMessage> BodyInserter<T, M> bodyInserterFor(P body, ResolvableType bodyType) { return (m, context) -> { MediaType contentType = m.getHeaders().getContentType(); Supplier<Stream<HttpMessageWriter<?>>> messageWriters = context.messageWriters(); return messageWriters.get() .filter(messageWriter -> messageWriter.canWrite(bodyType, contentType)) .findFirst() .map(BodyInserters::cast) .map(messageWriter -> messageWriter .write(body, bodyType, contentType, m, context.hints())) .orElseGet(() -> { List<MediaType> supportedMediaTypes = messageWriters.get() .flatMap(reader -> reader.getWritableMediaTypes().stream()) .collect(Collectors.toList()); UnsupportedMediaTypeException error = new UnsupportedMediaTypeException(contentType, supportedMediaTypes); return Mono.error(error); }); }; }