Support coma-delimited format for origin values
Closes gh-27606
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2021 the original author or authors.
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -291,6 +291,11 @@ class CorsConfigurationTests {
|
||||
config.setAllowCredentials(true);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> config.checkOrigin("https://domain.com"));
|
||||
|
||||
// coma-delimited origins list
|
||||
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 "/"
|
||||
config.setAllowedOrigins(Collections.singletonList("https://domain.com"));
|
||||
assertThat(config.checkOrigin("https://domain.com")).isEqualTo("https://domain.com");
|
||||
@@ -344,6 +349,12 @@ class CorsConfigurationTests {
|
||||
assertThat(config.checkOrigin("https://example.specific.port.com:8081")).isEqualTo("https://example.specific.port.com:8081");
|
||||
assertThat(config.checkOrigin("https://example.specific.port.com:1234")).isNull();
|
||||
|
||||
config.addAllowedOriginPattern("https://*.a1.com:[8080,8081],https://*.a2.com");
|
||||
assertThat(config.checkOrigin("https://example.a1.com:8080")).isEqualTo("https://example.a1.com:8080");
|
||||
assertThat(config.checkOrigin("https://example.a1.com:8081")).isEqualTo("https://example.a1.com:8081");
|
||||
assertThat(config.checkOrigin("https://example.a1.com:8082")).isNull();
|
||||
assertThat(config.checkOrigin("https://example.a2.com")).isEqualTo("https://example.a2.com");
|
||||
|
||||
config.setAllowCredentials(false);
|
||||
assertThat(config.checkOrigin("https://example.domain.com")).isEqualTo("https://example.domain.com");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user