MockHttpServletRequest changes Accept-Language header values [SPR-17566] #22098
Labels
in: test
Issues in the test module
status: backported
An issue that has been backported to maintenance branches
type: bug
A general bug
Milestone
Jan Engehausen opened SPR-17566 and commented
Greetings,
after switching to Spring 5 (via Spring Boot 2) I am unhappy with the behaviour of
org.springframework.mock.web.MockHttpServletRequest
in regards to handling theAccept-Language
header. It seems that it is getting manipulated when values for this header are set. In short, I potentially do not get back the value I am setting. If I set a literal value, e.g.ru, fr;q=0.5, *;q=0.1
then I expect to get this back when I read it again. However, it gets transformed into e.g.ru, fr
.I am attaching a test showing the issue.
While I might work around this by subclassing the mock request where used directly, when I use fancier things like
org.springframework.test.web.servlet.MockMvc
this does not work (at least I don't know how). The request is built internally, and my code using that request sees the above demonstrated unexpected value.Suggestions on how to circumvent this problem or a fix would be appreciated!
Thanks,
Jan
Affects: 5.0.11, 5.1.3
Attachments:
Issue Links:
Backported to: 5.0.12
The text was updated successfully, but these errors were encountered: