Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Jul 15, 2025

Same as

but for the Java API.

I thought Java's RequestHeader just passes through to the underlying Scala rh methods, but it turns out only for cookies, but not for Flash and Session.

The tests in the first commit I push should fail with:

[info] Test run play.mvc.AttributesTest started
[info] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesSession[0] started
[error] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesSession[0] failed: java.util.NoSuchElementException: key not found: Session, took 0.002 sec
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:243)
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:239)
[error]     at play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error]     at play.libs.typedmap.TypedMap.get(TypedMap.java:47)
[error]     at play.mvc.Http$RequestHeader.session(Http.java:376)
[error]     at play.core.j.RequestHeaderImpl.session(JavaHelpers.scala:195)
[error]     at play.mvc.AttributesTest.testRequestHeader_emptyAttributesSession(AttributesTest.java:133)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:569)
[error]     ...
[info] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesFlash[0] started
[error] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesFlash[0] failed: java.util.NoSuchElementException: key not found: Flash, took 0.0 sec
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:243)
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:239)
[error]     at play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error]     at play.libs.typedmap.TypedMap.get(TypedMap.java:47)
[error]     at play.mvc.Http$RequestHeader.flash(Http.java:385)
[error]     at play.core.j.RequestHeaderImpl.flash(JavaHelpers.scala:195)
[error]     at play.mvc.AttributesTest.testRequestHeader_emptyAttributesFlash(AttributesTest.java:140)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:569)
[error]     ...
[info] Test play.mvc.AttributesTest.testRequestHeader_KeepCurrentAttributesWhenAddingMultipleOnes[0] started
[info] Test play.mvc.AttributesTest.testRequestHeader_OverrideExistingValueWhenAddingMultipleAttributes[0] started
[info] Test play.mvc.AttributesTest.testRequestHeader_OverrideExistingValue[0] started
[info] Test play.mvc.AttributesTest.testRequestHeader_addMultipleAttributes[0] started
[info] Test play.mvc.AttributesTest.testRequestHeader_addSingleAttribute[0] started
[info] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesCookies[0] started
[error] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesCookies[0] failed: java.util.NoSuchElementException: key not found: Cookies, took 0.0 sec
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:243)
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:239)
[error]     at play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error]     at play.api.mvc.RequestHeader.cookies(RequestHeader.scala:269)
[error]     at play.api.mvc.RequestHeader.cookies$(RequestHeader.scala:269)
[error]     at play.api.mvc.RequestImpl.cookies(Request.scala:145)
[error]     at play.core.j.RequestHeaderImpl.cookies(JavaHelpers.scala:227)
[error]     at play.mvc.AttributesTest.testRequestHeader_emptyAttributesCookies(AttributesTest.java:127)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:569)
[error]     ...
[info] Test play.mvc.AttributesTest.testRequestHeader_KeepCurrentAttributesWhenAddingANewOne[0] started
[info] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesSession[1] started
[error] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesSession[1] failed: java.util.NoSuchElementException: key not found: Session, took 0.0 sec
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:243)
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:239)
[error]     at play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error]     at play.libs.typedmap.TypedMap.get(TypedMap.java:47)
[error]     at play.mvc.Http$RequestHeader.session(Http.java:376)
[error]     at play.core.j.RequestHeaderImpl.session(JavaHelpers.scala:195)
[error]     at play.mvc.AttributesTest.testRequestHeader_emptyAttributesSession(AttributesTest.java:133)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:569)
[error]     ...
[info] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesFlash[1] started
[error] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesFlash[1] failed: java.util.NoSuchElementException: key not found: Flash, took 0.001 sec
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:243)
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:239)
[error]     at play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error]     at play.libs.typedmap.TypedMap.get(TypedMap.java:47)
[error]     at play.mvc.Http$RequestHeader.flash(Http.java:385)
[error]     at play.core.j.RequestHeaderImpl.flash(JavaHelpers.scala:195)
[error]     at play.mvc.AttributesTest.testRequestHeader_emptyAttributesFlash(AttributesTest.java:140)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:569)
[error]     ...
[info] Test play.mvc.AttributesTest.testRequestHeader_KeepCurrentAttributesWhenAddingMultipleOnes[1] started
[info] Test play.mvc.AttributesTest.testRequestHeader_OverrideExistingValueWhenAddingMultipleAttributes[1] started
[info] Test play.mvc.AttributesTest.testRequestHeader_OverrideExistingValue[1] started
[info] Test play.mvc.AttributesTest.testRequestHeader_addMultipleAttributes[1] started
[info] Test play.mvc.AttributesTest.testRequestHeader_addSingleAttribute[1] started
[info] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesCookies[1] started
[error] Test play.mvc.AttributesTest.testRequestHeader_emptyAttributesCookies[1] failed: java.util.NoSuchElementException: key not found: Cookies, took 0.0 sec
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:243)
[error]     at scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:239)
[error]     at play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error]     at play.api.mvc.RequestHeader.cookies(RequestHeader.scala:269)
[error]     at play.api.mvc.RequestHeader.cookies$(RequestHeader.scala:269)
[error]     at play.api.mvc.RequestImpl.cookies(Request.scala:145)
[error]     at play.core.j.RequestHeaderImpl.cookies(JavaHelpers.scala:227)
[error]     at play.mvc.AttributesTest.testRequestHeader_emptyAttributesCookies(AttributesTest.java:127)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]     at java.lang.reflect.Method.invoke(Method.java:569)
[error]     ...
[info] Test play.mvc.AttributesTest.testRequestHeader_KeepCurrentAttributesWhenAddingANewOne[1] started
[info] Test run play.mvc.AttributesTest finished: 6 failed, 0 ignored, 18 total, 0.01s
```<hr>This is an automatic backport of pull request #13413 done by [Mergify](https://mergify.com).

@mergify mergify bot merged commit e764947 into 2.9.x Jul 15, 2025
27 checks passed
@mergify mergify bot deleted the mergify/bp/2.9.x/pr-13413 branch July 15, 2025 13:21
@mkurz mkurz added this to the 2.9.9 milestone Sep 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants