Example usage for org.springframework.http.server.reactive ReactorServerHttpResponse ReactorServerHttpResponse

List of usage examples for org.springframework.http.server.reactive ReactorServerHttpResponse ReactorServerHttpResponse

Introduction

In this page you can find the example usage for org.springframework.http.server.reactive ReactorServerHttpResponse ReactorServerHttpResponse.

Prototype

public ReactorServerHttpResponse(HttpServerResponse response, DataBufferFactory bufferFactory) 

Source Link

Usage

From source file:org.springframework.http.server.reactive.ReactorHttpHandlerAdapter.java

@Override
public Mono<Void> apply(HttpServerRequest request, HttpServerResponse response) {

    NettyDataBufferFactory bufferFactory = new NettyDataBufferFactory(response.alloc());
    ServerHttpRequest adaptedRequest;/*from   ww w  . ja v a  2 s  .  c  o m*/
    ServerHttpResponse adaptedResponse;
    try {
        adaptedRequest = new ReactorServerHttpRequest(request, bufferFactory);
        adaptedResponse = new ReactorServerHttpResponse(response, bufferFactory);
    } catch (URISyntaxException ex) {
        logger.error("Invalid URL " + ex.getMessage(), ex);
        response.status(HttpResponseStatus.BAD_REQUEST);
        return Mono.empty();
    }

    if (HttpMethod.HEAD.equals(adaptedRequest.getMethod())) {
        adaptedResponse = new HttpHeadResponseDecorator(adaptedResponse);
    }

    return this.httpHandler.handle(adaptedRequest, adaptedResponse)
            .doOnError(ex -> logger.error("Handling completed with error", ex))
            .doOnSuccess(aVoid -> logger.debug("Handling completed with success"));
}