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

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

Introduction

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

Prototype

public HttpHeadResponseDecorator(ServerHttpResponse delegate) 

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  w w. j  a  v a 2s .co  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"));
}

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

@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    if (DispatcherType.ASYNC.equals(request.getDispatcherType())) {
        Throwable ex = (Throwable) request.getAttribute(WRITE_ERROR_ATTRIBUTE_NAME);
        throw new ServletException("Write publisher error", ex);
    }//from  w  ww  .j ava 2s .  c o m

    // Start async before Read/WriteListener registration
    AsyncContext asyncContext = request.startAsync();
    asyncContext.setTimeout(-1);

    ServerHttpRequest httpRequest = createRequest(((HttpServletRequest) request), asyncContext);
    ServerHttpResponse httpResponse = createResponse(((HttpServletResponse) response), asyncContext);

    if (HttpMethod.HEAD.equals(httpRequest.getMethod())) {
        httpResponse = new HttpHeadResponseDecorator(httpResponse);
    }

    AtomicBoolean isCompleted = new AtomicBoolean();
    HandlerResultAsyncListener listener = new HandlerResultAsyncListener(isCompleted);
    asyncContext.addListener(listener);

    HandlerResultSubscriber subscriber = new HandlerResultSubscriber(asyncContext, isCompleted);
    this.httpHandler.handle(httpRequest, httpResponse).subscribe(subscriber);
}

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

@Override
public void handleRequest(HttpServerExchange exchange) throws Exception {

    ServerHttpRequest request = new UndertowServerHttpRequest(exchange, getDataBufferFactory());
    ServerHttpResponse response = new UndertowServerHttpResponse(exchange, getDataBufferFactory());

    if (HttpMethod.HEAD.equals(request.getMethod())) {
        response = new HttpHeadResponseDecorator(response);
    }/*from  ww  w  .j av a2  s. c o m*/

    HandlerResultSubscriber resultSubscriber = new HandlerResultSubscriber(exchange);
    this.httpHandler.handle(request, response).subscribe(resultSubscriber);
}

From source file:org.springframework.test.web.reactive.server.HttpHandlerConnector.java

private ServerHttpResponse prepareResponse(ServerHttpResponse response, ServerHttpRequest request) {
    return HttpMethod.HEAD.equals(request.getMethod()) ? new HttpHeadResponseDecorator(response) : response;
}