caddyhttp: Trace individual middleware handlers #6313
Merged
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.
This has been on my mind for years. Just a simple way to see which middleware handlers are being invoked during a request.
Requires DEBUG level logging to be enabled, as well as explicitly opting-in to trace logs. Here is an example global option config along with a sample server in a Caddyfile:
Making a simple request using
curl -v http://localhost:1234
I get:So I can see every middleware it went through. (Notice it didn't go through
rewrite
because it didn't match.)This would almost never be used in production, but I would be aware that this will log your middleware configurations which may be sensitive (?) so keep that in mind.