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

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

Introduction

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

Prototype

public ReactorServerHttpRequest(HttpServerRequest request, NettyDataBufferFactory bufferFactory)
            throws URISyntaxException 

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 w  ww  .  ja va2  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"));
}