* chore: replace ioutil.ReadFile by os.ReadFile
* feat: Add two template functions
- cat: Allows reading a value from a file
- credential: Allows reading a credential passed by systemd
The existing `entire-payload` option sends a JSON representation of the
parsed request body. Add a new `raw-request-body` source to send the
raw request body.
Fixes#439
The payload-hash-* options are imprecisely named. Clarify their function
as HMAC validations by renaming them. The existing options will continue
to work but are deprecated. Log a warning if the old options are used.
All tests, examples, and documentation are updated.
Fixes#289
To avoid having to pass around so many parameters to the hook package,
create a Request object to store all request-specific data. Update APIs
accordingly.
When attempting to match a JSON path for initial setup, it would be
helpful to know where the path failed. This change logs the failed
parameter node. For example, if you are trying to match path "a.b.d.e",
but you failed to include the "c" node, webhook will log an error
"parameter node not found: d.e" to assist in troubleshooting.