@Override public DefaultDataBuffer allocateBuffer() { return allocateBuffer(this.defaultInitialCapacity); }
@Override public DefaultDataBuffer allocateBuffer() { return allocateBuffer(this.defaultInitialCapacity); }
/** * {@inheritDoc} * <p>This implementation creates a single {@link DefaultDataBuffer} * to contain the data in {@code dataBuffers}. */ @Override public DefaultDataBuffer join(List<? extends DataBuffer> dataBuffers) { Assert.notEmpty(dataBuffers, "DataBuffer List must not be empty"); int capacity = dataBuffers.stream().mapToInt(DataBuffer::readableByteCount).sum(); DefaultDataBuffer result = allocateBuffer(capacity); dataBuffers.forEach(result::write); dataBuffers.forEach(DataBufferUtils::release); return result; }
/** * {@inheritDoc} * <p>This implementation creates a single {@link DefaultDataBuffer} * to contain the data in {@code dataBuffers}. */ @Override public DefaultDataBuffer join(List<? extends DataBuffer> dataBuffers) { Assert.notEmpty(dataBuffers, "DataBuffer List must not be empty"); int capacity = dataBuffers.stream().mapToInt(DataBuffer::readableByteCount).sum(); DefaultDataBuffer result = allocateBuffer(capacity); dataBuffers.forEach(result::write); dataBuffers.forEach(DataBufferUtils::release); return result; }
private static DataBuffer asDataBuffer(String text) { DefaultDataBuffer buffer = new DefaultDataBufferFactory().allocateBuffer(); return buffer.write(text.getBytes(StandardCharsets.UTF_8)); }
private static DataBuffer toDataBuffer(String body) { DataBuffer buffer = new DefaultDataBufferFactory().allocateBuffer(); buffer.write(body.getBytes(StandardCharsets.UTF_8)); return buffer; } }
@Test public void testWebFilter() throws Exception { WebFilter filter = (exchange, chain) -> { DataBuffer buffer = new DefaultDataBufferFactory().allocateBuffer(); buffer.write("It works!".getBytes(StandardCharsets.UTF_8)); return exchange.getResponse().writeWith(Mono.just(buffer)); }; WebTestClient client = WebTestClient.bindToWebHandler(exchange -> Mono.empty()) .webFilter(filter) .build(); client.get().uri("/") .exchange() .expectStatus().isOk() .expectBody(String.class).isEqualTo("It works!"); }
@Override public Flux<DataBuffer> getBody() { DefaultDataBuffer buffer = new DefaultDataBufferFactory().allocateBuffer(); buffer.write(this.result.getRequestBodyContent()); return Flux.fromArray(new DataBuffer[] { buffer }); }
@Override public DefaultDataBuffer allocateBuffer() { return allocateBuffer(this.defaultInitialCapacity); }
@Override public DefaultDataBuffer allocateBuffer() { return allocateBuffer(this.defaultInitialCapacity); }
/** * {@inheritDoc} * <p>This implementation creates a single {@link DefaultDataBuffer} * to contain the data in {@code dataBuffers}. */ @Override public DefaultDataBuffer join(List<? extends DataBuffer> dataBuffers) { Assert.notEmpty(dataBuffers, "DataBuffer List must not be empty"); int capacity = dataBuffers.stream().mapToInt(DataBuffer::readableByteCount).sum(); DefaultDataBuffer result = allocateBuffer(capacity); dataBuffers.forEach(result::write); dataBuffers.forEach(DataBufferUtils::release); return result; }
/** * {@inheritDoc} * <p>This implementation creates a single {@link DefaultDataBuffer} to contain the data * in {@code dataBuffers}. */ @Override public DefaultDataBuffer join(List<? extends DataBuffer> dataBuffers) { Assert.notEmpty(dataBuffers, "'dataBuffers' must not be empty"); int capacity = dataBuffers.stream() .mapToInt(DataBuffer::readableByteCount) .sum(); DefaultDataBuffer result = allocateBuffer(capacity); dataBuffers.forEach(result::write); dataBuffers.forEach(DataBufferUtils::release); return result; }