Make the signature of RHOM#writeAndFlush() more flexible

This modifies the signature of
ReactiveHttpOutputMessage#writeAndFlush(...) in order to
be able to use Flux<Flux<DataBuffer>> objects as arguments of
this method.

Issue: SPR-14952
This commit is contained in:
Daniel Fernández
2016-11-24 22:58:10 +01:00
committed by Sebastien Deleuze
parent a143b57d4b
commit a98be035a3
11 changed files with 21 additions and 21 deletions

View File

@@ -72,7 +72,7 @@ public class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAll
messageWriter.write(source, ResolvableType.forClass(ServerSentEvent.class),
new MediaType("text", "event-stream"), outputMessage, Collections.emptyMap());
Publisher<Publisher<DataBuffer>> result = Flux.from(outputMessage.getBodyWithFlush());
Publisher<? extends Publisher<DataBuffer>> result = Flux.from(outputMessage.getBodyWithFlush());
StepVerifier.create(result)
.consumeNextWith(sseConsumer("id:c42\n" + "event:foo\n" + "retry:123\n" +
":bla\n:bla bla\n:bla bla bla\n" + "data:bar\n"))
@@ -87,7 +87,7 @@ public class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAll
messageWriter.write(source, ResolvableType.forClass(String.class),
new MediaType("text", "event-stream"), outputMessage, Collections.emptyMap());
Publisher<Publisher<DataBuffer>> result = outputMessage.getBodyWithFlush();
Publisher<? extends Publisher<DataBuffer>> result = outputMessage.getBodyWithFlush();
StepVerifier.create(result)
.consumeNextWith(sseConsumer("data:foo\n"))
.consumeNextWith(sseConsumer("data:bar\n"))
@@ -102,7 +102,7 @@ public class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAll
messageWriter.write(source, ResolvableType.forClass(String.class),
new MediaType("text", "event-stream"), outputMessage, Collections.emptyMap());
Publisher<Publisher<DataBuffer>> result = outputMessage.getBodyWithFlush();
Publisher<? extends Publisher<DataBuffer>> result = outputMessage.getBodyWithFlush();
StepVerifier.create(result)
.consumeNextWith(sseConsumer("data:foo\ndata:bar\n"))
.consumeNextWith(sseConsumer("data:foo\ndata:baz\n"))
@@ -118,7 +118,7 @@ public class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAll
messageWriter.write(source, ResolvableType.forClass(Pojo.class),
new MediaType("text", "event-stream"), outputMessage, Collections.emptyMap());
Publisher<Publisher<DataBuffer>> result = outputMessage.getBodyWithFlush();
Publisher<? extends Publisher<DataBuffer>> result = outputMessage.getBodyWithFlush();
StepVerifier.create(result)
.consumeNextWith(sseConsumer("data:", "{\"foo\":\"foofoo\",\"bar\":\"barbar\"}", "\n"))
.consumeNextWith(sseConsumer("data:", "{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}", "\n"))

View File

@@ -166,7 +166,7 @@ public class ServerHttpResponseTests {
@Override
protected Mono<Void> writeAndFlushWithInternal(
Publisher<Publisher<DataBuffer>> body) {
Publisher<? extends Publisher<DataBuffer>> body) {
return Mono.error(new UnsupportedOperationException());
}
}

View File

@@ -51,7 +51,7 @@ public class MockServerHttpResponse implements ServerHttpResponse {
private Publisher<DataBuffer> body;
private Publisher<Publisher<DataBuffer>> bodyWithFlushes;
private Publisher<? extends Publisher<DataBuffer>> bodyWithFlushes;
private DataBufferFactory bufferFactory = new DefaultDataBufferFactory();
@@ -81,7 +81,7 @@ public class MockServerHttpResponse implements ServerHttpResponse {
return this.body;
}
public Publisher<Publisher<DataBuffer>> getBodyWithFlush() {
public Publisher<? extends Publisher<DataBuffer>> getBodyWithFlush() {
return this.bodyWithFlushes;
}
@@ -92,7 +92,7 @@ public class MockServerHttpResponse implements ServerHttpResponse {
}
@Override
public Mono<Void> writeAndFlushWith(Publisher<Publisher<DataBuffer>> body) {
public Mono<Void> writeAndFlushWith(Publisher<? extends Publisher<DataBuffer>> body) {
this.bodyWithFlushes = body;
return Flux.from(this.bodyWithFlushes).then();
}

View File

@@ -43,7 +43,7 @@ public class MockClientHttpRequest extends AbstractClientHttpRequest {
private Publisher<DataBuffer> body;
private Publisher<Publisher<DataBuffer>> bodyWithFlushes;
private Publisher<? extends Publisher<DataBuffer>> bodyWithFlushes;
public MockClientHttpRequest() {
@@ -96,7 +96,7 @@ public class MockClientHttpRequest extends AbstractClientHttpRequest {
}
@Override
public Mono<Void> writeAndFlushWith(Publisher<Publisher<DataBuffer>> body) {
public Mono<Void> writeAndFlushWith(Publisher<? extends Publisher<DataBuffer>> body) {
this.bodyWithFlushes = body;
return applyBeforeCommit().then(Flux.from(this.bodyWithFlushes).then());
}
@@ -105,7 +105,7 @@ public class MockClientHttpRequest extends AbstractClientHttpRequest {
return body;
}
public Publisher<Publisher<DataBuffer>> getBodyWithFlush() {
public Publisher<? extends Publisher<DataBuffer>> getBodyWithFlush() {
return bodyWithFlushes;
}