Example usage for org.springframework.web.cors.reactive CorsUtils isCorsRequest

List of usage examples for org.springframework.web.cors.reactive CorsUtils isCorsRequest

Introduction

In this page you can find the example usage for org.springframework.web.cors.reactive CorsUtils isCorsRequest.

Prototype

@SuppressWarnings("deprecation")
public static boolean isCorsRequest(ServerHttpRequest request) 

Source Link

Document

Returns true if the request is a valid CORS one by checking Origin header presence and ensuring that origins are different via #isSameOrigin .

Usage

From source file:org.springframework.web.cors.reactive.DefaultCorsProcessor.java

@Override
public boolean process(@Nullable CorsConfiguration config, ServerWebExchange exchange) {

    ServerHttpRequest request = exchange.getRequest();
    ServerHttpResponse response = exchange.getResponse();

    if (!CorsUtils.isCorsRequest(request)) {
        return true;
    }//www  . j  a va2s. com

    if (responseHasCors(response)) {
        logger.debug("Skip CORS: response already contains \"Access-Control-Allow-Origin\" header");
        return true;
    }

    if (CorsUtils.isSameOrigin(request)) {
        logger.debug("Skip CORS: request is from same origin");
        return true;
    }

    boolean preFlightRequest = CorsUtils.isPreFlightRequest(request);
    if (config == null) {
        if (preFlightRequest) {
            rejectRequest(response);
            return false;
        } else {
            return true;
        }
    }

    return handleInternal(exchange, config, preFlightRequest);
}