From e81651b657b088f2b122499e863dc0e27adca24b Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 31 May 2017 21:10:08 -0400 Subject: [PATCH] Ignore empty Accept-Language header value Issue: SPR-15603 --- .../src/main/java/org/springframework/http/HttpHeaders.java | 2 +- .../java/org/springframework/http/HttpHeadersTests.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index e7b91481f1..9bde1b4054 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -467,7 +467,7 @@ public class HttpHeaders implements MultiValueMap, Serializable */ public List getAcceptLanguage() { String value = getFirst(ACCEPT_LANGUAGE); - return value != null ? Locale.LanguageRange.parse(value) : Collections.emptyList(); + return StringUtils.hasText(value) ? Locale.LanguageRange.parse(value) : Collections.emptyList(); } /** diff --git a/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java b/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java index a6afa4935b..da57a96722 100644 --- a/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java +++ b/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java @@ -447,6 +447,12 @@ public class HttpHeadersTests { assertEquals(Locale.FRANCE, headers.getAcceptLanguageAsLocales().get(0)); } + @Test // SPR-15603 + public void acceptLanguageWithEmptyValue() throws Exception { + this.headers.set(HttpHeaders.ACCEPT_LANGUAGE, ""); + assertEquals(Collections.emptyList(), this.headers.getAcceptLanguageAsLocales()); + } + @Test public void contentLanguage() { headers.setContentLanguage(Locale.FRANCE);