feat: Add --forward option to proxy requests to external servers#11
Open
theVAX wants to merge 1 commit into
Open
feat: Add --forward option to proxy requests to external servers#11theVAX wants to merge 1 commit into
theVAX wants to merge 1 commit into
Conversation
Allows forwarding matching requests (by regex pattern) to an external URL during local development. Useful for proxying file downloads to a production server when resources don't exist in the local emulator. Responses are streamed chunk-wise so large files don't consume memory. Usage: app_server --forward '/file/.*=https://my-app.appspot.com' ...
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.
Summary
--forward PATTERN=URLCLI argument (repeatable) that forwards matching requests to an external serverForwardProxyWSGI middleware with chunk-based streaming (memory-safe for large files)Use case
During local development, files uploaded to production (Google Cloud Storage) aren't available in the local Datastore emulator. This option transparently proxies those requests to the production server:
app_server -A my-app \ --forward '/file/.*=https://my-app.appspot.com' \ deploy/Test plan
/file/download/...returns200 OKwith correctcontent-type/json/..., static files) still work as before--forward: behavior unchanged (no regression)