Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data SlackConfig = SlackConfig {
- webHookUrl :: String
- httpManager :: Manager
- logStatus :: Status -> Bool
- slack :: SlackConfig -> Middleware
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 #
SlackConfig | |
|
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.