hookee is a utility that provides command line webhooks, on demand! Dump useful request data to the
console, process requests and responses, customize response data, and configure hookee and its routes
further in any number of ways through custom plugins.
hookee is available on PyPI and can be installed
using pip:
pip install hookeeor conda:
conda install -c conda-forge hookeeThat's it! hookee is now available as a Python package and is available from the command line.
To get the most out of hookee, you'll want to obtain an authtoken from ngrok (it's
free!) and install it in to hookee's config file:
hookee authtoken $NGROK_AUTHTOKENhookee makes it easy to get webhooks on the fly right from the console. Simply start it with:
hookee startWith its default configuration, this will start a server on port 8000, open a ngrok tunnel
using pyngrok, and mount a URL at /webhook. Sending any request to
the /webhook endpoint will dump the request and response data to the console.
hookee can be configured in a number of ways to quickly and easily tweak request and response data. For example,
here is how you can customize the response body from /webhook using the --response arg.
hookee --response "<Response>Ok</Response>" \
--content-type application/xmlhookee can also be started without a tunnel (removing the dependency on ngrok and an Internet connection). Using
the --no-tunnel flag only starts hookee's server, allowing responses to be mocked locally. This can be particularly
useful when service discovery is done through a proxy service (ex. HAProxy,
Envoy, etc.), meaning you can tell hookee to start on the port of an expected downstream,
thus intercepting requests to that service to provide your own responses in an isolated environment, very useful for
rapid local development, cluster testing, and more.
hookee --no-tunnel --response "<Response>Ok</Response>" \
--content-type application/xml \
--default-route /some/route \
--port 19780To see the ways hookee can be tweaked right from the console, view its documented args and commands like this:
hookee --helpFor more advanced usage, including how hookee's default configuration can be changed, extended through plugins,
API integrations, and more, see its official documentation is available
at Read the Docs.
If you would like to get involved, be sure to review the Contribution Guide.
Want to contribute financially? If you've found hookee useful, sponsorship
would
also be greatly appreciated!
