Example usage for org.springframework.web.reactive.function.server ServerResponse status

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

Introduction

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

Prototype

static BodyBuilder status(int status) 

Source Link

Document

Create a builder with the given HTTP status.

Usage

From source file:org.springframework.boot.autoconfigure.web.reactive.error.DefaultErrorWebExceptionHandler.java

/**
 * Render the error information as an HTML view.
 * @param request the current request/*from w w w  . ja  v  a 2s  . co  m*/
 * @return a {@code Publisher} of the HTTP response
 */
protected Mono<ServerResponse> renderErrorView(ServerRequest request) {
    boolean includeStackTrace = isIncludeStackTrace(request, MediaType.TEXT_HTML);
    Map<String, Object> error = getErrorAttributes(request, includeStackTrace);
    HttpStatus errorStatus = getHttpStatus(error);
    ServerResponse.BodyBuilder responseBody = ServerResponse.status(errorStatus)
            .contentType(MediaType.TEXT_HTML);
    return Flux
            .just("error/" + errorStatus.toString(), "error/" + SERIES_VIEWS.get(errorStatus.series()),
                    "error/error")
            .flatMap((viewName) -> renderErrorView(viewName, responseBody, error))
            .switchIfEmpty(this.errorProperties.getWhitelabel().isEnabled()
                    ? renderDefaultErrorView(responseBody, error)
                    : Mono.error(getError(request)))
            .next().doOnNext((response) -> logError(request, errorStatus));
}

From source file:org.springframework.boot.autoconfigure.web.reactive.error.DefaultErrorWebExceptionHandler.java

/**
 * Render the error information as a JSON payload.
 * @param request the current request/*w  w  w  .j a  va 2  s  .com*/
 * @return a {@code Publisher} of the HTTP response
 */
protected Mono<ServerResponse> renderErrorResponse(ServerRequest request) {
    boolean includeStackTrace = isIncludeStackTrace(request, MediaType.ALL);
    Map<String, Object> error = getErrorAttributes(request, includeStackTrace);
    HttpStatus errorStatus = getHttpStatus(error);
    return ServerResponse.status(getHttpStatus(error)).contentType(MediaType.APPLICATION_JSON_UTF8)
            .body(BodyInserters.fromObject(error)).doOnNext((resp) -> logError(request, errorStatus));
}