logging: add set_cookie log filter for Set-Cookie response headers#7888
Open
steffenbusch wants to merge 1 commit into
Open
logging: add set_cookie log filter for Set-Cookie response headers#7888steffenbusch wants to merge 1 commit into
steffenbusch wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #7887
This adds a new
set_cookielog field filter for loggedSet-Cookieresponse header values.It supports the same actions as the existing
cookiefilter:hashreplacedeleteThe main intended use is for access log fields such as
resp_headers>Set-Cookiewhenlog_credentialsis enabled.Motivation
Caddy already has a built-in
cookielog filter for loggedCookierequest header values.That logic does not map directly to
Set-Cookie, becauseSet-Cookieis structured as one cookie plus attributes per header value. Reusing request-cookie-style handling can produce partially useful output, but does not preserveSet-Cookieattributes correctly.Implementation notes
This implementation uses a hybrid approach:
http.ParseSetCookie()to identify the cookie name and valueCookie.String()Set-Cookielines are passed through unchangedThis avoids normalization and preserves unrecognized attributes.
Example
Tests
Added tests for:
hashreplacedeleteAssistance Disclosure
ChatGPT/Codex was used to help draft the issue/PR text, refine the implementation approach, and assist with code and test changes. The overall feature idea and final decisions on the technical approach and submitted content were mine.