Skip to content

Commit 6df1a78

Browse files
committed
MockHttpServletResponse uses correct language header
Issue: SPR-16311
1 parent 99cbfd3 commit 6df1a78

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public void reset() {
311311
@Override
312312
public void setLocale(Locale locale) {
313313
this.locale = locale;
314-
doAddHeaderValue(HttpHeaders.ACCEPT_LANGUAGE, locale.toLanguageTag(), true);
314+
doAddHeaderValue(HttpHeaders.CONTENT_LANGUAGE, locale.toLanguageTag(), true);
315315
}
316316

317317
@Override
@@ -591,11 +591,11 @@ else if (HttpHeaders.CONTENT_LENGTH.equalsIgnoreCase(name)) {
591591
Integer.parseInt(value.toString()));
592592
return true;
593593
}
594-
else if (HttpHeaders.ACCEPT_LANGUAGE.equalsIgnoreCase(name)) {
594+
else if (HttpHeaders.CONTENT_LANGUAGE.equalsIgnoreCase(name)) {
595595
HttpHeaders headers = new HttpHeaders();
596-
headers.add(HttpHeaders.ACCEPT_LANGUAGE, value.toString());
597-
List<Locale> locales = headers.getAcceptLanguageAsLocales();
598-
this.locale = (!locales.isEmpty() ? locales.get(0) : Locale.getDefault());
596+
headers.add(HttpHeaders.CONTENT_LANGUAGE, value.toString());
597+
Locale language = headers.getContentLanguage();
598+
this.locale = language != null ? language : Locale.getDefault();
599599
return true;
600600
}
601601
else {

spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletResponse.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ public void reset() {
303303
@Override
304304
public void setLocale(Locale locale) {
305305
this.locale = locale;
306-
doAddHeaderValue(HttpHeaders.ACCEPT_LANGUAGE, locale.toLanguageTag(), true);
306+
doAddHeaderValue(HttpHeaders.CONTENT_LANGUAGE, locale.toLanguageTag(), true);
307307
}
308308

309309
@Override
@@ -579,11 +579,11 @@ else if (HttpHeaders.CONTENT_LENGTH.equalsIgnoreCase(name)) {
579579
Integer.parseInt(value.toString()));
580580
return true;
581581
}
582-
else if (HttpHeaders.ACCEPT_LANGUAGE.equalsIgnoreCase(name)) {
582+
else if (HttpHeaders.CONTENT_LANGUAGE.equalsIgnoreCase(name)) {
583583
HttpHeaders headers = new HttpHeaders();
584-
headers.add(HttpHeaders.ACCEPT_LANGUAGE, value.toString());
585-
List<Locale> locales = headers.getAcceptLanguageAsLocales();
586-
this.locale = (!locales.isEmpty() ? locales.get(0) : Locale.getDefault());
584+
headers.add(HttpHeaders.CONTENT_LANGUAGE, value.toString());
585+
Locale language = headers.getContentLanguage();
586+
this.locale = language != null ? language : Locale.getDefault();
587587
return true;
588588
}
589589
else {

0 commit comments

Comments
 (0)