summaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
index 285fab88dd9..1af39e2d073 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
@@ -27,6 +27,15 @@ public class FilterUtils {
private static final ObjectMapper mapper = new ObjectMapper();
+ public static boolean originIsRequestHost(DiscFilterRequest request) {
+ try {
+ return Optional.ofNullable(request.getHeader("Origin"))
+ .map(origin -> URI.create(origin).getHost().equals(request.getServerName()))
+ .orElse(false);
+ } catch (RuntimeException ignored) { }
+ return false;
+ }
+
public static void sendRedirectResponse(ResponseHandler handler, List<Cookie> cookies, String location) {
Response response = createResponse(Response.Status.FOUND, cookies);
response.headers().add("Location", location);