A simple Go proxy which adds CORS headers to an incoming request. This allows your application to execute requests on a resource hosted on a different domain.
- Download and install Go
- Setup your $GOROOT and $GOPATH in your bashrc / zshrc, for example:
export GOROOT=/usr/local/go
export GOPATH=/dev/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Flag | Default | Description |
---|---|---|
target |
localhost:8080 | host:port to proxy requests to |
listen |
localhost:8181 | host:port to listen on |
protocol |
http | protocol used by the target |
host |
localhost:3000 | host header to be used for the proxy request |
origin |
http://localhost:3000 |
origin header to be used for the proxy request |
methods |
true | enable / disable default access control methods |
debug |
false | enable / disable debug messages |
Once Go has been correctly installed and configured, execute:
go run proxy.go -target=0.0.0.0:8080 -listen=0.0.0.0:8181 -host=localhost:3000 -origin=http://localhost:3000
Now all incoming requests on port 8181
will be proxied to http://0.0.0.0:8080
The Docker image is hosted on Docker Hub
Please see the docker-compose.yml
file for an example of how the image may be used.
To build the docker image you can simply run: docker-compose up
Here are some basic rules to follow to ensure timely addition of your request:
- Match coding style (braces, spacing, etc.).
- If it is a feature, bugfix, or anything please only change the minimum amount of code required to satisfy the change.
- Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)
- Pull requests must be made against
develop
branch. Any other branch (unless specified by the maintainers) will get rejected. - Check for existing issues first, before filing a new issue.
MIT License