/** * Static factory method for a {@code ClientCodecConfigurer}. */ static ClientCodecConfigurer create() { return CodecConfigurerFactory.create(ClientCodecConfigurer.class); }
/** * Constructor with an {@code Encoder}. */ public HttpMessageWriterView(Encoder<?> encoder) { this(new EncoderHttpMessageWriter<>(encoder)); }
@Override public ServerSentEvent<T> build() { return new ServerSentEvent<>(this.id, this.event, this.retry, this.comment, this.data); } }
@Override public HandlerStrategies build() { return new DefaultHandlerStrategies(this.codecConfigurer.getReaders(), this.codecConfigurer.getWriters(), this.viewResolvers, this.webFilters, this.exceptionHandlers, this.localeContextResolver); }
/** * Constructor with a default list of part writers (String and Resource). */ public MultipartHttpMessageWriter() { this(Arrays.asList( new EncoderHttpMessageWriter<>(CharSequenceEncoder.textPlainOnly()), new ResourceHttpMessageWriter() )); }
/** * Constructor with explicit list of writers for serializing parts. */ public MultipartHttpMessageWriter(List<HttpMessageWriter<?>> partWriters) { this(partWriters, new FormHttpMessageWriter()); }
/** * {@inheritDoc} * <p>The implementation of this method for {@link HttpMessageWriterView} * delegates to {@link HttpMessageWriter#getWritableMediaTypes()}. */ @Override public List<MediaType> getSupportedMediaTypes() { return this.writer.getWritableMediaTypes(); }
/** * Server-side only alternative to * {@link #read(ResolvableType, ReactiveHttpInputMessage, Map)} * with additional context available. * @param actualType the actual type of the target method parameter; * for annotated controllers, the {@link MethodParameter} can be accessed * via {@link ResolvableType#getSource()}. * @param elementType the type of Objects in the output stream * @param request the current request * @param response the current response * @param hints additional information about how to read the body * @return the decoded stream of elements */ default Flux<T> read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) { return read(elementType, request, hints); }
/** * Server-side only alternative to * {@link #readMono(ResolvableType, ReactiveHttpInputMessage, Map)} * with additional, context available. * @param actualType the actual type of the target method parameter; * for annotated controllers, the {@link MethodParameter} can be accessed * via {@link ResolvableType#getSource()}. * @param elementType the type of Objects in the output stream * @param request the current request * @param response the current response * @param hints additional information about how to read the body * @return the decoded stream of elements */ default Mono<T> readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) { return readMono(elementType, request, hints); }
@Test public void getWritableMediaTypes() { HttpMessageWriter<?> writer = getWriter(MimeTypeUtils.TEXT_HTML, MimeTypeUtils.TEXT_XML); assertEquals(Arrays.asList(TEXT_HTML, TEXT_XML), writer.getWritableMediaTypes()); }
@Override public Flux<T> read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) { Map<String, Object> allHints = Hints.merge(hints, getReadHints(actualType, elementType, request, response)); return read(elementType, request, allHints); }
@Override public Mono<T> readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) { Map<String, Object> allHints = Hints.merge(hints, getReadHints(actualType, elementType, request, response)); return readMono(elementType, request, allHints); }
public DefaultHandlerStrategiesBuilder() { this.codecConfigurer.registerDefaults(false); }
@Override public ExchangeStrategies build() { return new DefaultExchangeStrategies( this.codecConfigurer.getReaders(), this.codecConfigurer.getWriters()); }
/** * Return a builder for a {@code SseEvent}, populated with the give {@linkplain #data() data}. * @param <T> the type of data that this event contains * @return the builder */ public static <T> Builder<T> builder(T data) { return new BuilderImpl<>(data); }
public DefaultExchangeStrategiesBuilder() { this.codecConfigurer.registerDefaults(false); }
private <T> void testWrite(Publisher<T> source, MockServerHttpResponse response, Class<T> clazz) { testWrite(source, MediaType.TEXT_EVENT_STREAM, response, clazz); }
/** * Static factory method for a {@code ServerCodecConfigurer}. */ static ServerCodecConfigurer create() { return CodecConfigurerFactory.create(ServerCodecConfigurer.class); }
/** * Return a builder for a {@code SseEvent}. * @param <T> the type of data that this event contains * @return the builder */ public static <T> Builder<T> builder() { return new BuilderImpl<>(); }
public void defaultConfiguration() { this.codecConfigurer.registerDefaults(true); }