Browse Source

Optimal charset handling in AbstractHttpMessageConverter

Closes gh-36320
pull/36325/head
rstoyanchev 1 month ago
parent
commit
47a2e7059e
  1. 5
      spring-web/src/main/java/org/springframework/http/converter/AbstractHttpMessageConverter.java

5
spring-web/src/main/java/org/springframework/http/converter/AbstractHttpMessageConverter.java

@ -252,13 +252,14 @@ public abstract class AbstractHttpMessageConverter<T> implements HttpMessageConv
contentTypeToUse = (mediaType != null ? mediaType : contentTypeToUse); contentTypeToUse = (mediaType != null ? mediaType : contentTypeToUse);
} }
if (contentTypeToUse != null) { if (contentTypeToUse != null) {
String value = contentTypeToUse.toString();
if (contentTypeToUse.getCharset() == null) { if (contentTypeToUse.getCharset() == null) {
Charset defaultCharset = getDefaultCharset(); Charset defaultCharset = getDefaultCharset();
if (defaultCharset != null) { if (defaultCharset != null) {
contentTypeToUse = new MediaType(contentTypeToUse, defaultCharset); value += ";charset=" + defaultCharset.name();
} }
} }
headers.setContentType(contentTypeToUse); headers.set(HttpHeaders.CONTENT_TYPE, value);
} }
} }
if (headers.getContentLength() < 0 && !headers.containsHeader(HttpHeaders.TRANSFER_ENCODING)) { if (headers.getContentLength() < 0 && !headers.containsHeader(HttpHeaders.TRANSFER_ENCODING)) {

Loading…
Cancel
Save