There's a lot in this commit.
1. Add `pass-environment-to-command` option that works much like
`pass-arguments-to-command`. You can see an example usage in the
"github" test case.
2. Add a test program called "hookecho" that is used to test the
webhook package instead of relying upon a system `echo` command.
3. Move hooks_test.json to a template so that we can update the path to
hookecho on the fly.
4. Don't return an error at the end of hook.MatchRule.Evaluate(). All
tests succeed for me now.
The hook package should be self-contained and return errors instead of
relying on the log subsystem. This commit removes the logging
side-effects from the hook package. Custom errors are returned that
should be transparent to the caller -- they can just treat them as
simple errors if they don't care to check the type.
This commit removes the "helpers" package by moving functions from the
package into the other packages that use them.
CheckPayloadSignature() and ExtractParamater() are simply moved to the
"hook" package. I'm not sure of the usefulness of having these
functions exported, but I left them allow for now.
ValuesToMap() is moved to the "main" webhook package and renamed to
valuesToMap().
Tests were moved into the "hook" package since we only test
ExtractParameter() right now.
This commit closesadnanh/webhook#12.