Add support for dynamicly setting the cookie domain based on request. #232
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rebased off the latest version of the upstream (7.0.2)
This is a proof-of-concept to enable passing a function for the domain config option to dynamically modify the cookie domain based on the incoming request.
It does so by adding a call to a new modifyOptsForRequest helper anywhere cookies.set is called.
modifyOptsForRequest creates a copy of opts, checks whether the opts.domain value is a function, and replaces the domain value with the result of that function if so.
An example of how this might be used:
app.use(session({
domain: (ctx, opts) => {
return ctx.get("origin") || DEFAULT_ORIGIN;
}
});
This specifically addresses #188, but it should be easy to extend this PR to support the other cookie config options (like httpOnly, maxAge, etc.). If this approach looks good and maintainers would be interested in the fix, I'd be happy to update this PR to properly do so - let me know!
Checklist