2 unstable releases
Uses old Rust 2015
0.2.0 | Aug 16, 2017 |
---|---|
0.1.0 | May 10, 2017 |
#7 in #fisher
Used in fisher_processor
27KB
404 lines
Fisher
Fisher is a fast, simple webhooks catcher written in Rust. It's easy to set up, it features builtin security, and you can monitor its status with a simple HTTP request. Being a single binary, you can deploy it easily wherever you want.
Fisher is released under the GNU GPL v3+ license, see LICENSE for more details. In order to build it, you need to have Rust 1.31.1 or greater installed.
Usage
Fist of all, you need to download Fisher and place the executable
on your server (possibly in a directory in $PATH
).
Fisher doesn't have a configuration file, and you only need to place your hooks in a directory (make sure they're executable!):
$ mkdir /srv/hooks
$ cat > /srv/hooks/example-hook.sh << EOF
#!/bin/bash
echo "I'm an hook!"
EOF
$ chmod +x /srv/hooks/example-hook.sh
Then, you start fisher and you're good to go!
$ fisher /srv/hooks
Total hooks collected: 1
Web API listening on 127.0.0.1:8000
You can now call your hook: the request will be queued by Fisher and the script will be executed.
$ curl http://127.0.0.1:8000/hook/example-hook
Building Fisher
In order to build fisher, you need a stable Rust compiler and cargo installed.
$ git clone https://github.com/pietroalbini/fisher
$ cd fisher
$ cargo build --release
The compiled binary will be available in target/release/fisher
.
Dependencies
~0.7–1.4MB
~32K SLoC