MockHttpServletRequest preserves original Accept-Language header value

Issue: SPR-17566

(cherry picked from commit 9efea7eb73)
This commit is contained in:
Juergen Hoeller
2018-12-04 22:07:43 +01:00
parent d73b027021
commit bc864dc161
3 changed files with 15 additions and 10 deletions

View File

@@ -969,12 +969,14 @@ public class MockHttpServletRequest implements HttpServletRequest {
try {
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.ACCEPT_LANGUAGE, value.toString());
setPreferredLocales(headers.getAcceptLanguageAsLocales());
List<Locale> locales = headers.getAcceptLanguageAsLocales();
this.locales.clear();
this.locales.addAll(locales);
}
catch (IllegalArgumentException ex) {
// Invalid Accept-Language format -> store plain header instead
doAddHeaderValue(name, value, true);
// Invalid Accept-Language format -> just store plain header
}
doAddHeaderValue(name, value, true);
}
else {
doAddHeaderValue(name, value, false);