Ignore empty Accept-Language header value

Issue: SPR-15603
This commit is contained in:
Rossen Stoyanchev
2017-05-31 21:10:08 -04:00
parent b494c53b40
commit e81651b657
2 changed files with 7 additions and 1 deletions

View File

@@ -467,7 +467,7 @@ public class HttpHeaders implements MultiValueMap<String, String>, Serializable
*/
public List<Locale.LanguageRange> 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();
}
/**

View File

@@ -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);