Skip to content

Commit 2fe7ab1

Browse files
kevin.keprstoyanchev
kevin.kep
authored andcommitted
Trim last allowed origin in comma-delimited list
See gh-33181
1 parent 6becfe2 commit 2fe7ab1

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ private static void parseCommaDelimitedOrigin(String rawValue, Consumer<String>
281281
}
282282
}
283283
if (start < rawValue.length()) {
284-
valueConsumer.accept(rawValue.substring(start));
284+
valueConsumer.accept(rawValue.substring(start).trim());
285285
}
286286
}
287287

spring-web/src/test/java/org/springframework/web/cors/CorsConfigurationTests.java

+5
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,11 @@ void checkOriginAllowed() {
305305
assertThat(config.checkOrigin("https://a1.com")).isEqualTo("https://a1.com");
306306
assertThat(config.checkOrigin("https://a2.com/")).isEqualTo("https://a2.com/");
307307

308+
// comma-delimited origins list with space
309+
config.setAllowedOrigins(Collections.singletonList("https://a1.com, https://a2.com"));
310+
assertThat(config.checkOrigin("https://a1.com")).isEqualTo("https://a1.com");
311+
assertThat(config.checkOrigin("https://a2.com/")).isEqualTo("https://a2.com/");
312+
308313
// specific origin matches Origin header with or without trailing "/"
309314
config.setAllowedOrigins(Collections.singletonList("https://domain.com"));
310315
assertThat(config.checkOrigin("https://domain.com")).isEqualTo("https://domain.com");

0 commit comments

Comments
 (0)