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

Skip to content

Conversation

@mkurz
Copy link
Member

@mkurz mkurz commented Jul 14, 2025

@mkurz mkurz marked this pull request as draft July 14, 2025 14:11
@mkurz mkurz force-pushed the fix_RequestHeader branch from b7c096c to 778fa45 Compare July 14, 2025 21:21
@mkurz mkurz force-pushed the fix_RequestHeader branch from 778fa45 to 9fbdbeb Compare July 15, 2025 09:56
@mkurz mkurz changed the title [3.0.x] Make sure Cookies always exists even if empty [3.0.x] Make sure Cookies, Session, Flash always exists even if empty Jul 15, 2025
@mkurz mkurz marked this pull request as ready for review July 15, 2025 10:34
@mkurz
Copy link
Member Author

mkurz commented Jul 15, 2025

By just adding the tests (first commit) - without the fix - they fail:

[info] RequestHeaderSpec
[info] request header should
...
[info]   have typed attributes
...
[info]     handle empty attributes
[error]       ! always return (at least an empty) cookies (6 ms)
[error]        java.util.NoSuchElementException: key not found: Cookies (TypedMap.scala:189)
[error] play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error] play.api.mvc.RequestHeader.cookies(RequestHeader.scala:269)
[error] play.api.mvc.RequestHeader.cookies$(RequestHeader.scala:269)
[error] play.api.mvc.RequestHeaderSpec$$anon$1.cookies(RequestHeaderSpec.scala:231)
[error] play.api.mvc.RequestHeaderSpec.$anonfun$new$65(RequestHeaderSpec.scala:123)
[error] play.api.mvc.RequestHeaderSpec.$anonfun$new$64(RequestHeaderSpec.scala:123)
[error]       ! always return (at least an empty) session (1 ms)
[error]        java.util.NoSuchElementException: key not found: Session (TypedMap.scala:189)
[error] play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error] play.api.mvc.RequestHeader.session(RequestHeader.scala:275)
[error] play.api.mvc.RequestHeader.session$(RequestHeader.scala:275)
[error] play.api.mvc.RequestHeaderSpec$$anon$1.session(RequestHeaderSpec.scala:231)
[error] play.api.mvc.RequestHeaderSpec.$anonfun$new$68(RequestHeaderSpec.scala:127)
[error] play.api.mvc.RequestHeaderSpec.$anonfun$new$67(RequestHeaderSpec.scala:127)
[error]       ! always return (at least an empty) flash (1 ms)
[error]        java.util.NoSuchElementException: key not found: Flash (TypedMap.scala:189)
[error] play.api.libs.typedmap.DefaultTypedMap.apply(TypedMap.scala:189)
[error] play.api.mvc.RequestHeader.flash(RequestHeader.scala:281)
[error] play.api.mvc.RequestHeader.flash$(RequestHeader.scala:281)
[error] play.api.mvc.RequestHeaderSpec$$anon$1.flash(RequestHeaderSpec.scala:231)
[error] play.api.mvc.RequestHeaderSpec.$anonfun$new$71(RequestHeaderSpec.scala:131)
[error] play.api.mvc.RequestHeaderSpec.$anonfun$new$70(RequestHeaderSpec.scala:131)

With the fix they now pass:

[info] RequestHeaderSpec
[info] request header should
...
[info]   have typed attributes
...
[info]     handle empty attributes
[info]       + always return (at least an empty) cookies (3 ms)
[info]       + always return (at least an empty) session (3 ms)
[info]       + always return (at least an empty) flash (3 ms)

@Mergifyio backport 2.9.x main

@mkurz mkurz merged commit b3de2ae into playframework:3.0.x Jul 15, 2025
25 checks passed
@mkurz mkurz deleted the fix_RequestHeader branch July 15, 2025 10:35
@mergify
Copy link
Contributor

mergify bot commented Jul 15, 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.

1 participant