Example usage for org.springframework.web.reactive.function.server DefaultServerRequest DefaultServerRequest

List of usage examples for org.springframework.web.reactive.function.server DefaultServerRequest DefaultServerRequest

Introduction

In this page you can find the example usage for org.springframework.web.reactive.function.server DefaultServerRequest DefaultServerRequest.

Prototype

DefaultServerRequest(ServerWebExchange exchange, List<HttpMessageReader<?>> messageReaders) 

Source Link

Usage

From source file:org.springframework.web.reactive.function.server.RouterFunctions.java

/**
 * Convert the given {@linkplain RouterFunction router function} into a {@link WebHandler},
 * using the given strategies.// ww w .j  a v a 2  s  .  c  om
 * @param routerFunction the router function to convert
 * @param strategies the strategies to use
 * @return a web handler that handles web request using the given router function
 */
public static WebHandler toWebHandler(RouterFunction<?> routerFunction, HandlerStrategies strategies) {
    Assert.notNull(routerFunction, "RouterFunction must not be null");
    Assert.notNull(strategies, "HandlerStrategies must not be null");

    return exchange -> {
        ServerRequest request = new DefaultServerRequest(exchange, strategies.messageReaders());
        addAttributes(exchange, request);
        return routerFunction.route(request).defaultIfEmpty(notFound())
                .flatMap(handlerFunction -> wrapException(() -> handlerFunction.handle(request)))
                .flatMap(response -> wrapException(
                        () -> response.writeTo(exchange, new HandlerStrategiesResponseContext(strategies))));
    };
}