diff options
Diffstat (limited to 'jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/cors/CorsRequestFilterBase.java')
-rw-r--r-- | jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/cors/CorsRequestFilterBase.java | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/cors/CorsRequestFilterBase.java b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/cors/CorsRequestFilterBase.java deleted file mode 100644 index b565ad374ed..00000000000 --- a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/cors/CorsRequestFilterBase.java +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.jdisc.http.filter.security.cors; - -import com.yahoo.jdisc.Response; -import com.yahoo.jdisc.http.filter.DiscFilterRequest; -import com.yahoo.jdisc.http.filter.security.base.JsonSecurityRequestFilterBase; - -import java.util.Optional; -import java.util.Set; - -import static com.yahoo.jdisc.http.filter.security.cors.CorsLogic.createCorsResponseHeaders; - -/** - * Security request filters should extend this base class to ensure that CORS header are included in the response of a rejected request. - * This is required as response filter chains are not executed when a request is rejected in a request filter. - * - * @author bjorncs - */ -public abstract class CorsRequestFilterBase extends JsonSecurityRequestFilterBase { - - private final Set<String> allowedUrls; - - protected CorsRequestFilterBase(Set<String> allowedUrls) { - this.allowedUrls = allowedUrls; - } - - @Override - public final Optional<ErrorResponse> filter(DiscFilterRequest request) { - Optional<ErrorResponse> errorResponse = filterRequest(request); - errorResponse.ifPresent(response -> addCorsHeaders(request, response.getResponse())); - return errorResponse; - } - - protected abstract Optional<ErrorResponse> filterRequest(DiscFilterRequest request); - - private void addCorsHeaders(DiscFilterRequest request, Response response) { - createCorsResponseHeaders(request.getHeader("Origin"), allowedUrls) - .forEach(response.headers()::add); - } - -} |