#http-server #http-status #mocking #http-request #dev #github #webhook

bin+lib blackhole-bin

blackhole is a server that responds to any request with http status code 200

8 releases (5 breaking)

0.6.2 Jul 15, 2023
0.6.1 Jul 15, 2023
0.5.0 Jul 10, 2021
0.4.1 Jun 9, 2020
0.1.0 Aug 18, 2019

#633 in Command line utilities

MIT/Apache

26KB
562 lines

blackhole

blackhole is a server that responds to any request with http status code 200. For example, you can check what kind of request is notified by GitHub webhook from the access log.

Github Action Latest version Documentation Docker Pulls License

Getting Started

  • Usage
Usage: blackhole [OPTIONS]

Options:
  -c, --no-color
          Color mode off
  -a, --address <ADDRESS>
          Listen address [default: 127.0.0.1]
  -p, --port <PORT>
          Listen port [env: PORT=] [default: 8080]
  -v, --verbose...
          More output per occurrence
  -q, --quiet...
          Less output per occurrence
  -h, --help
          Print help
  -V, --version
          Print version
  • Launch server
# listen port is 8080
$ blackhole
Start server. addr: 127.0.0.1:8080

---

# Other terinal
$ curl -v http://127.0.0.1:8080/
$ curl -v -XPOST http://127.0.0.1:8080/
$ curl -d'param=aaa' -XPOST http://127.0.0.1:8080/xxx/yyy
$ curl -v -d '{"test": 1}' -H 'application/json' -XPOST http://127.0.0.1:8080/json

---
# access log
{"headers":{"accept":"*/*","user-agent":"curl/7.77.0"},"host":"127.0.0.1:8080","method":"GET","path":"/","query":"","req":{"size":0},"scheme":"http","timestamp":"2023-07-15T05:23:50.356541Z"}
{"headers":{"accept":"*/*","user-agent":"curl/7.77.0"},"host":"127.0.0.1:8080","method":"POST","path":"/","query":"","req":{"size":0},"scheme":"http","timestamp":"2023-07-15T05:23:53.42902Z"}
{"headers":{"accept":"*/*","content-length":"9","content-type":"application/x-www-form-urlencoded","user-agent":"curl/7.77.0"},"host":"127.0.0.1:8080","method":"POST","path":"/xxx/yyy","query":"","req":{"body":"param=aaa","size":9},"scheme":"http","timestamp":"2023-07-15T05:23:56.055892Z"}
{"headers":{"accept":"*/*","content-length":"11","content-type":"application/x-www-form-urlencoded","user-agent":"curl/7.77.0"},"host":"127.0.0.1:8080","method":"POST","path":"/json","query":"","req":{"body":{"test":1},"size":11},"scheme":"http","timestamp":"2023-07-15T05:24:00.304255Z"}

Installing

  • Install binary directly
❯❯ curl --tlsv1.2 -sSf https://raw.githubusercontent.com/watawuwu/blackhole/main/install.sh | sh
  • Install with cargo
❯❯ cargo install blackhole-bin

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Authors

Dependencies

~19–32MB
~557K SLoC