github-webhook-handler-0.0.8: GitHub WebHook Handler

Safe HaskellNone



data Handler m Source




hSecretKeys :: [String]

Secret keys which are used to authenticate the incoming request. If the list is empty then no authentication is required. The handler tries each key until it finds one which works. This makes it easier to rotate keys because you can have multiple ones active at any given point in time.

hBody :: m ByteString

Action which is used to read the request body.

hHeader :: ByteString -> m (Maybe ByteString)

Action which is used to retrieve a particular header from the request.

data Error Source



The incoming request is not well-formed. If that happens it means GitHub screwed something up, or changed the format of the request.

ParseError !Text

The request looks valid but we failed to parse the payload. This could be because our parsing code is wrong, or because GitHub added a new event type which we don't handle yet.


We were expecting a signed request but no signature was included. Such requests are rejected beause we don't want to accept requests from untrusted sources.


A signature was included in the request but it did not match the secret key which was providid to the handler. Usually points to a configuration error on either end.