{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif module Hails.App ( module Hails.IterIO.HailsRoute , module LIO , module LIO.DCLabel , AppReqHandler, AppRoute -- * Info about app and user , getHailsUser, getHailsApp ) where import Hails.IterIO.HailsRoute import LIO import LIO.DCLabel import Hails.TCB.Types ( AppReqHandler, AppRoute ) import Data.IterIO.Http.Support.Action (Action, requestHeader) import qualified Data.ByteString.Char8 as S8 -- | Get the user the app is running on behalf of getHailsUser :: Action t b DC String getHailsUser = do hdr <- requestHeader (S8.pack "x-hails-user") maybe (fail "No x-hails-user header") (return . S8.unpack) hdr -- | Get the app the app is running on behalf of getHailsApp :: Action t b DC String getHailsApp = do hdr <- requestHeader (S8.pack "x-hails-app") maybe (fail "No x-hails-app header") (return . S8.unpack) hdr