Use the original URL when requests are forwarded #7
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.
When the request is forwarded to the edge worker instead of running as a transparent proxy (via the routes) the original URL gets lost. This PR defines a new custom header
x-original-url
for passing the original URL around. If the request is forwarded and the header is found it will be used to extract thedomain
,path
,query
for the logging of the visit.Since the new request should be initialized using the original request, all headers should be passed down to the edge worker, so the referer parsing should still continue to work and not be lost in the process. The new header needs to be manually added to the outgoing request:
This is especially relevant for integrations with Cloudflare's Worker Sites because it is not possible to set multiple workers on the same route.
FYI @mre