aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
diff options
context:
space:
mode:
authorgjoranv <gv@yahoo-inc.com>2017-03-08 16:17:36 +0100
committergjoranv <gv@yahoo-inc.com>2017-03-09 01:29:42 +0100
commit44ef733850e75905bd2a6b16485954d4b7b3f15a (patch)
treea9b58d87b1c3d46ba2d07f74315f8a305e63cb29 /jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
parent0b3c8ffaedd710f028e2e018f436f5b79b4fd633 (diff)
Allow retrieving headers from response filters, via RequestView.
Diffstat (limited to 'jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java')
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
index ae4ea34e45c..ae03f5fcb59 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
@@ -14,6 +14,8 @@ import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.http.HttpRequest;
import com.yahoo.jdisc.http.HttpResponse;
+import javax.annotation.Nonnull;
+
/**
* Implementation of TypedFilterChain for DiscFilterResponse
* @author tejalk
@@ -58,7 +60,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res
return Collections.unmodifiableList(filters);
}
- private static class RequestViewImpl implements RequestView {
+ static class RequestViewImpl implements RequestView {
private final Request request;
private final Optional<HttpRequest.Method> method;
@@ -75,6 +77,17 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res
return request.context().get(name);
}
+ @Nonnull @Override
+ public List<String> getHeaders(String name) {
+ List<String> headers = request.headers().get(name);
+ return headers == null ? Collections.emptyList() : Collections.unmodifiableList(headers);
+ }
+
+ @Override
+ public Optional<String> getFirstHeader(String name) {
+ return getHeaders(name).stream().findFirst();
+ }
+
@Override
public Optional<HttpRequest.Method> getMethod() {
return method;