wai-slack-middleware-0.1.0.0: A Slack middleware for WAI

Safe HaskellNone
LanguageHaskell2010

Network.Wai.Middleware.Slack

Contents

Synopsis

Usage

Settings are controlled via the type SlackConfig:

import Network.HTTP.Types.Status
let slackConfig = SlackConfig {
    webHookUrl = "https://hooks.slack.com/services/xxx/xxxxxxxx",
    httpManager = appHttpManager foundation,
    logStatus = status -> status400 == status
}

The above configuration will send slack notification to all 400 http status code.

Integration with Yesod Scaffolding templates

Go to Application.hs and change the makeApplication function to something like this:

makeApplication :: App -> IO Application
makeApplication foundation = do
  logWare <- makeLogWare foundation
  let slackConfig = SlackConfig {
                               webHookUrl = "https://hooks.slack.com/services/xxxx/xxxxxxx",
                               httpManager = appHttpManager foundation,
                               logStatus = _ -> True
                             }
  -- Create the WAI application and apply middlewares
  appPlain <- toWaiAppPlain foundation
  return $ slack slackConfig $ logWare $ defaultMiddlewaresNoLogging appPlain

| Slack configuration for the middleware

data SlackConfig Source #

Constructors

SlackConfig 

Fields

slack :: SlackConfig -> Middleware Source #

Slack middleware for Wai. Use the logStatus to control on which status you want to log the request information in Slack.