public class HttpRequestDuplicator extends AbstractStreamMessageDuplicator<HttpObject,HttpRequest>
HttpRequest
multiple times by duplicating the stream.
final HttpRequest originalReq = ...
final HttpRequestDuplicator reqDuplicator = new HttpRequestDuplicator(originalReq);
final HttpRequest dupReq1 = reqDuplicator.duplicateStream();
final HttpRequest dupReq2 = reqDuplicator.duplicateStream();
dupReq1.subscribe(new FooSubscriber() {
...
// Do something according to the first few elements of the request.
});
final CompletableFuture<AggregatedHttpMessage> future2 = dupReq2.aggregate();
future2.handle((message, cause) -> {
// Do something with message.
}
Constructor and Description |
---|
HttpRequestDuplicator(HttpRequest req)
Creates a new instance wrapping a
HttpRequest and publishing to multiple subscribers. |
Modifier and Type | Method and Description |
---|---|
protected HttpRequest |
doDuplicateStream(StreamMessage<HttpObject> delegate)
Creates a new
U instance that wraps ChildStreamMessage and forwards its method
invocations to it. |
close, duplicateStream
public HttpRequestDuplicator(HttpRequest req)
HttpRequest
and publishing to multiple subscribers.req
- the request that will publish data to subscribersprotected HttpRequest doDuplicateStream(StreamMessage<HttpObject> delegate)
AbstractStreamMessageDuplicator
U
instance that wraps ChildStreamMessage
and forwards its method
invocations to it.doDuplicateStream
in class AbstractStreamMessageDuplicator<HttpObject,HttpRequest>
delegate
- ChildStreamMessage
© Copyright 2015–2017 LINE Corporation. All rights reserved.