public ByteArrayEncoderTests() { super(new ByteArrayEncoder()); }
@Override @Test public void canEncode() { assertTrue(this.encoder.canEncode(ResolvableType.forClass(byte[].class), MimeTypeUtils.TEXT_PLAIN)); assertFalse(this.encoder.canEncode(ResolvableType.forClass(Integer.class), MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(byte[].class), MimeTypeUtils.APPLICATION_JSON)); // SPR-15464 assertFalse(this.encoder.canEncode(ResolvableType.NONE, null)); }
/** * Return writers that support specific types. * @param forMultipart whether to returns writers for general use ("false"), * or for multipart requests only ("true"). Generally the two sets are the * same except for the multipart writer itself. */ @SuppressWarnings("unchecked") final List<HttpMessageWriter<?>> getTypedWriters(boolean forMultipart) { if (!this.registerDefaults) { return Collections.emptyList(); } List<HttpMessageWriter<?>> writers = new ArrayList<>(); writers.add(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); writers.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); writers.add(new EncoderHttpMessageWriter<>(new DataBufferEncoder())); writers.add(new ResourceHttpMessageWriter()); writers.add(new EncoderHttpMessageWriter<>(CharSequenceEncoder.textPlainOnly())); // No client or server specific multipart writers currently.. if (!forMultipart) { extendTypedWriters(writers); } if (protobufPresent) { Encoder<?> encoder = this.protobufEncoder != null ? this.protobufEncoder : new ProtobufEncoder(); writers.add(new ProtobufHttpMessageWriter((Encoder) encoder)); } return writers; }
/** * Return writers that support specific types. * @param forMultipart whether to returns writers for general use ("false"), * or for multipart requests only ("true"). Generally the two sets are the * same except for the multipart writer itself. */ @SuppressWarnings("unchecked") final List<HttpMessageWriter<?>> getTypedWriters(boolean forMultipart) { if (!this.registerDefaults) { return Collections.emptyList(); } List<HttpMessageWriter<?>> writers = new ArrayList<>(); writers.add(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); writers.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); writers.add(new EncoderHttpMessageWriter<>(new DataBufferEncoder())); writers.add(new ResourceHttpMessageWriter()); writers.add(new EncoderHttpMessageWriter<>(CharSequenceEncoder.textPlainOnly())); // No client or server specific multipart writers currently.. if (!forMultipart) { extendTypedWriters(writers); } if (protobufPresent) { Encoder<?> encoder = this.protobufEncoder != null ? this.protobufEncoder : new ProtobufEncoder(); writers.add(new ProtobufHttpMessageWriter((Encoder) encoder)); } return writers; }
/** * Return writers that support specific types. * @param forMultipart whether to returns writers for general use ("false"), * or for multipart requests only ("true"). Generally the two sets are the * same except for the multipart writer itself. */ final List<HttpMessageWriter<?>> getTypedWriters(boolean forMultipart) { if (!this.registerDefaults) { return Collections.emptyList(); } List<HttpMessageWriter<?>> writers = new ArrayList<>(); writers.add(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); writers.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); writers.add(new EncoderHttpMessageWriter<>(new DataBufferEncoder())); writers.add(new ResourceHttpMessageWriter()); writers.add(new EncoderHttpMessageWriter<>(CharSequenceEncoder.textPlainOnly())); // No client or server specific multipart writers currently.. if (!forMultipart) { extendTypedWriters(writers); } return writers; }
/** * Return writers that support specific types. * @param forMultipart whether to returns writers for general use ("false"), * or for multipart requests only ("true"). Generally the two sets are the * same except for the multipart writer itself. */ @SuppressWarnings("unchecked") final List<HttpMessageWriter<?>> getTypedWriters(boolean forMultipart) { if (!this.registerDefaults) { return Collections.emptyList(); } List<HttpMessageWriter<?>> writers = new ArrayList<>(); writers.add(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); writers.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); writers.add(new EncoderHttpMessageWriter<>(new DataBufferEncoder())); writers.add(new ResourceHttpMessageWriter()); writers.add(new EncoderHttpMessageWriter<>(CharSequenceEncoder.textPlainOnly())); // No client or server specific multipart writers currently.. if (!forMultipart) { extendTypedWriters(writers); } if (protobufPresent) { Encoder<?> encoder = this.protobufEncoder != null ? this.protobufEncoder : new ProtobufEncoder(); writers.add(new ProtobufHttpMessageWriter((Encoder) encoder)); } return writers; }
/** * Adds default converters that sub-classes can call from * {@link #configureMessageWriters(List)}. */ protected final void addDefaultHttpMessageWriters(List<HttpMessageWriter<?>> writers) { List<Encoder<?>> sseDataEncoders = new ArrayList<>(); writers.add(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); writers.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); writers.add(new EncoderHttpMessageWriter<>(new CharSequenceEncoder())); writers.add(new ResourceHttpMessageWriter()); if (jaxb2Present) { writers.add(new EncoderHttpMessageWriter<>(new Jaxb2XmlEncoder())); } if (jackson2Present) { Jackson2JsonEncoder encoder = new Jackson2JsonEncoder(); writers.add(new Jackson2ServerHttpMessageWriter(encoder)); sseDataEncoders.add(encoder); HttpMessageWriter<Object> writer = new ServerSentEventHttpMessageWriter(sseDataEncoders); writers.add(new Jackson2ServerHttpMessageWriter(writer)); } else { writers.add(new ServerSentEventHttpMessageWriter(sseDataEncoders)); } }
cc.decoder(StringDecoder.allMimeTypes(false)); cc.encoder(new ByteArrayEncoder()); cc.encoder(new Jackson2JsonEncoder());
public void defaultConfiguration() { messageReader(new DecoderHttpMessageReader<>(new ByteArrayDecoder())); messageReader(new DecoderHttpMessageReader<>(new ByteBufferDecoder())); if (jackson2Present) { messageReader(new ServerSentEventHttpMessageReader(Collections.singletonList(new Jackson2JsonDecoder()))); } else { messageReader(new ServerSentEventHttpMessageReader(Collections.emptyList())); } messageReader(new DecoderHttpMessageReader<>(new StringDecoder(false))); messageWriter(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); messageWriter(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); messageWriter(new EncoderHttpMessageWriter<>(new CharSequenceEncoder())); messageWriter(new ResourceHttpMessageWriter()); if (jaxb2Present) { messageReader(new DecoderHttpMessageReader<>(new Jaxb2XmlDecoder())); messageWriter(new EncoderHttpMessageWriter<>(new Jaxb2XmlEncoder())); } if (jackson2Present) { messageReader(new DecoderHttpMessageReader<>(new Jackson2JsonDecoder())); messageWriter(new EncoderHttpMessageWriter<>(new Jackson2JsonEncoder())); } }
public void defaultConfiguration() { messageReader(new DecoderHttpMessageReader<>(new ByteArrayDecoder())); messageReader(new DecoderHttpMessageReader<>(new ByteBufferDecoder())); messageReader(new DecoderHttpMessageReader<>(new StringDecoder())); messageWriter(new EncoderHttpMessageWriter<>(new ByteArrayEncoder())); messageWriter(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); messageWriter(new EncoderHttpMessageWriter<>(new CharSequenceEncoder())); messageWriter(new ResourceHttpMessageWriter()); if (jaxb2Present) { messageReader(new DecoderHttpMessageReader<>(new Jaxb2XmlDecoder())); messageWriter(new EncoderHttpMessageWriter<>(new Jaxb2XmlEncoder())); } if (jackson2Present) { messageReader(new DecoderHttpMessageReader<>(new Jackson2JsonDecoder())); Jackson2JsonEncoder jsonEncoder = new Jackson2JsonEncoder(); messageWriter(new EncoderHttpMessageWriter<>(jsonEncoder)); messageWriter( new ServerSentEventHttpMessageWriter(Collections.singletonList(jsonEncoder))); } else { messageWriter(new ServerSentEventHttpMessageWriter()); } }