Merge branch '6.1.x'

This commit is contained in:
rstoyanchev 2024-07-15 15:21:39 +01:00
commit b2decb4e5d
2 changed files with 9 additions and 2 deletions

View File

@ -275,14 +275,16 @@ public class CorsConfiguration {
case ']' -> withinPortRange = false; case ']' -> withinPortRange = false;
case ',' -> { case ',' -> {
if (!withinPortRange) { if (!withinPortRange) {
valueConsumer.accept(rawValue.substring(start, current).trim()); String originValue = rawValue.substring(start, current).trim();
valueConsumer.accept(originValue);
start = current + 1; start = current + 1;
} }
} }
} }
} }
if (start < rawValue.length()) { if (start < rawValue.length()) {
valueConsumer.accept(rawValue.substring(start)); String originValue = rawValue.substring(start).trim();
valueConsumer.accept(originValue);
} }
} }

View File

@ -305,6 +305,11 @@ class CorsConfigurationTests {
assertThat(config.checkOrigin("https://a1.com")).isEqualTo("https://a1.com"); assertThat(config.checkOrigin("https://a1.com")).isEqualTo("https://a1.com");
assertThat(config.checkOrigin("https://a2.com/")).isEqualTo("https://a2.com/"); assertThat(config.checkOrigin("https://a2.com/")).isEqualTo("https://a2.com/");
// comma-delimited origins list with space
config.setAllowedOrigins(Collections.singletonList("https://a1.com, https://a2.com"));
assertThat(config.checkOrigin("https://a1.com")).isEqualTo("https://a1.com");
assertThat(config.checkOrigin("https://a2.com/")).isEqualTo("https://a2.com/");
// specific origin matches Origin header with or without trailing "/" // specific origin matches Origin header with or without trailing "/"
config.setAllowedOrigins(Collections.singletonList("https://domain.com")); config.setAllowedOrigins(Collections.singletonList("https://domain.com"));
assertThat(config.checkOrigin("https://domain.com")).isEqualTo("https://domain.com"); assertThat(config.checkOrigin("https://domain.com")).isEqualTo("https://domain.com");