packages feed

hsoz-0.0.0.2: example/BewitServer.hs

module BewitServer where

import           Data.Text                 (Text)
import           Data.Default              (def)
import           Network.HTTP.Types.Status (status200)
import           Network.Wai
import           Network.Wai.Handler.Warp

import           Common
import           Network.Hawk.Server.Types
import qualified Network.Hawk.Server       as Hawk
import           Network.Hawk.Middleware   (bewitAuth)

serverMain :: IO ()
serverMain = run 8000 (middleware app)

auth :: ClientId -> IO (Either String (Credentials, Text))
auth _ = return $ Right (Credentials sharedKey (HawkAlgo SHA256), "Steve")

middleware :: Middleware
middleware = bewitAuth def auth

app :: Application
app req respond = respond $ responseLBS status200 [] "hello"