github-tools-0.1.3: Various Github helper utilities.
Safe HaskellNone
LanguageHaskell2010

GitHub.WebHook.Handler

Documentation

data Handler m Source #

Constructors

Handler 

Fields

  • 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 #

Constructors

InvalidRequest

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.

IncompleteParse Value Payload

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.

UnsignedRequest

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.

InvalidSignature

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.