Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 1.47 KB

README.md

File metadata and controls

71 lines (46 loc) · 1.47 KB

Echo server

HTTP echo server, that's it.

.github/workflows/build.yaml

Installation

cargo install echo-server

Usage

Defaults:

  • HTTP server listens to 0.0.0.0:8080.
  • HTTP request headers return with the response.
  • GET requests have no body content.
echo-server [-p|--port=8080] [-b|--body="Custom GET response body"]

All HTTP verbs are supported.

GET request

curl -vvv -X GET localhost:8080
curl -vvv -X GET -H "x-random-header: test" localhost:8080

POST request

curl -vvv -X POST -H "Content-Type: application/json" -d '{"hello": "world"}' localhost:8080

Docker

You can run a precompiled image from Docker hub:

docker run --rm -p 8080:8080 --name echo swaagie/echo-server:latest

Or build the image local:

docker build -t echo-server .
docker run --rm -p 8080:8080 --name echo echo-server

Listen on a different port:

docker run --rm -p 8081:8081 --name echo echo-server --port=8081

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT