private Mono<Void> write(Flux<? extends DataBuffer> publisher) { return Mono.defer(() -> { final HttpResponse response = HttpResponse.of( Flux.concat(Mono.just(headers), publisher.map(factoryWrapper::toHttpData)) // Publish the response stream on the event loop in order to avoid the possibility of // calling subscription.request() from multiple threads while publishing messages // with onNext signals or starting the subscription with onSubscribe signal. .publishOn(Schedulers.fromExecutor(ctx.eventLoop()))); future.complete(response); return Mono.fromFuture(response.completionFuture()); }); }
}, ctx.eventLoop());
ctx.eventLoop());
ctx.logBuilder().serializationFormat(serializationFormat); ctx.logBuilder().deferRequestContent(); req.aggregateWithPooledObjects(ctx.eventLoop(), ctx.alloc()).handle((aReq, cause) -> { if (cause != null) { final HttpResponse errorRes;
req.aggregateWithPooledObjects(ctx.eventLoop(), ctx.alloc()).handle((clientRequest, t) -> { if (t != null) { responseFuture.completeExceptionally(t);
ctx.logBuilder().serializationFormat(serializationFormat); ctx.logBuilder().deferRequestContent(); req.aggregateWithPooledObjects(ctx.eventLoop(), ctx.alloc()).handle(voidFunction((aReq, cause) -> { if (cause != null) { final HttpResponse errorRes;
ctx.logBuilder().serializationFormat(serializationFormat); ctx.logBuilder().deferRequestContent(); req.aggregateWithPooledObjects(ctx.eventLoop(), ctx.alloc()).handle((aReq, cause) -> { if (cause != null) { final HttpResponse errorRes;
ctx.logBuilder().serializationFormat(serializationFormat); ctx.logBuilder().deferRequestContent(); req.aggregateWithPooledObjects(ctx.eventLoop(), ctx.alloc()).handle((aReq, cause) -> { if (cause != null) { final HttpResponse errorRes;