Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Support setCharacterEncoding(null) in MockHttpServletResponse #30341

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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