Skip to content

Support setCharacterEncoding(null) in MockHttpServletResponse #30341

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
chschu opened this issue Apr 14, 2023 · 2 comments
Closed

Support setCharacterEncoding(null) in MockHttpServletResponse #30341

chschu opened this issue Apr 14, 2023 · 2 comments
Assignees
Labels
in: test Issues in the test module in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Milestone

Comments

@chschu
Copy link

chschu commented Apr 14, 2023

Some servlet containers (at least Undertow and Tomcat) allow clearing a previously set character encoding by calling response.setCharacterEncoding(null). This is useful when CharacterEncodingFilter is used, but some handlers need to deliver binary data without the charset clause in the Content-Type response header.

Code doing that cannot currently be tested with MockMvc, because MockHttpServletResponse.setCharacterEncoding(null) throws an IllegalArgumentException.

The Javadoc of the Servlet API in JakartaEE has been updated a while ago to support null there: jakartaee/servlet@22c8f34

The JakartaEE guys were quite unanimous about the subject: jakartaee/servlet#377

MockHttpServletResponse.setCharacterEncoding(null) should clear any character encoding previously set on the response.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Apr 14, 2023
@rstoyanchev rstoyanchev added in: test Issues in the test module in: web Issues in web modules (web, webmvc, webflux, websocket) and removed status: waiting-for-triage An issue we've not yet triaged or decided on labels Apr 18, 2023
@rstoyanchev rstoyanchev added this to the 6.1.x milestone Apr 18, 2023
@rstoyanchev rstoyanchev changed the title MockHttpServletResponse.setCharacterEncoding(null) should be allowed Support MockHttpServletResponse.setCharacterEncoding(null) Apr 18, 2023
@rstoyanchev
Copy link
Contributor

rstoyanchev commented Apr 18, 2023

Sounds like we need to catch up to and align with the Servlet 6 API updates.

@sbrannen sbrannen changed the title Support MockHttpServletResponse.setCharacterEncoding(null) Support setCharacterEncoding(null) in MockHttpServletResponse Apr 18, 2023
@sbrannen sbrannen added the type: enhancement A general enhancement label Apr 18, 2023
@poutsma poutsma self-assigned this Apr 19, 2023
@poutsma poutsma modified the milestones: 6.1.x, 6.1.0-M1 Apr 19, 2023
@poutsma
Copy link
Contributor

poutsma commented Apr 19, 2023

This issue was closed by mistake, due to an invalid github comment

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
in: test Issues in the test module in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

5 participants