packages feed

rollbar-yesod-0.1.0: example/Main.hs

{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# OPTIONS_GHC -fno-warn-unused-top-binds #-}

module Main
  ( main
  ) where

import Network.Wai.Handler.Warp (run)
import Rollbar.Client
import Rollbar.Yesod (rollbarYesodMiddleware)
import Yesod.Core

newtype App = App { appRollbarSettings :: Settings }

mkYesod "App" [parseRoutes|
  / RootR GET
|]

instance HasSettings Handler where
  getSettings = getsYesod appRollbarSettings

instance Yesod App where
  yesodMiddleware = rollbarYesodMiddleware . defaultYesodMiddleware

getRootR :: Handler ()
getRootR = error "yesod"

main :: IO ()
main = do
  settings <- readSettings "rollbar.yaml"
  toWaiApp (App settings) >>= run 3000