summaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java
diff options
context:
space:
mode:
Diffstat (limited to 'jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java')
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java b/jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java
index 0e6e5d28260..350d8170987 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java
@@ -65,7 +65,7 @@ public class UriPattern implements Comparable<UriPattern> {
if (!matcher.find()) {
throw new IllegalArgumentException(uri);
}
- scheme = GlobPattern.compile(resolvePatternComponent(matcher.group(1)));
+ scheme = GlobPattern.compile(normalizeScheme(resolvePatternComponent(matcher.group(1))));
host = GlobPattern.compile(resolvePatternComponent(matcher.group(2)));
port = resolvePortPattern(matcher.group(4));
path = GlobPattern.compile(resolvePatternComponent(matcher.group(7)));
@@ -91,7 +91,7 @@ public class UriPattern implements Comparable<UriPattern> {
return null;
}
// Match scheme before host because it has a higher chance of differing (e.g. http versus https)
- GlobPattern.Match schemeMatch = scheme.match(resolveUriComponent(uri.getScheme()));
+ GlobPattern.Match schemeMatch = scheme.match(normalizeScheme(resolveUriComponent(uri.getScheme())));
if (schemeMatch == null) {
return null;
}
@@ -172,6 +172,11 @@ public class UriPattern implements Comparable<UriPattern> {
}
}
+ private static String normalizeScheme(String scheme) {
+ if (scheme.equals("https")) return "http"; // handle 'https' in bindings and uris as 'http'
+ return scheme;
+ }
+
/**
* <p>This class holds the result of a {@link UriPattern#match(URI)} operation. It contains methods to inspect the
* groups captured during matching, where a <em>group</em> is defined as a sequence of characters matches by a