28 lines
678 B
Haskell
28 lines
678 B
Haskell
module Utils.Cookies
|
|
( getCookiePath
|
|
, siteApproot
|
|
, cookiePath
|
|
) where
|
|
|
|
import ClassyPrelude.Yesod
|
|
|
|
import qualified Network.Wai as Wai
|
|
|
|
|
|
cookiePath :: Maybe Text -> ByteString
|
|
cookiePath = maybe "/" $ extractPath . encodeUtf8
|
|
|
|
siteApproot :: Yesod site => site -> Wai.Request -> Maybe Text
|
|
siteApproot master req = case approot of
|
|
ApprootRelative -> Nothing
|
|
ApprootStatic t -> Just t
|
|
ApprootMaster f -> Just $ f master
|
|
ApprootRequest f -> Just $ f master req
|
|
|
|
getCookiePath :: (MonadHandler m, Yesod (HandlerSite m)) => m ByteString
|
|
getCookiePath = do
|
|
app <- getYesod
|
|
req <- reqWaiRequest <$> getRequest
|
|
|
|
return . cookiePath $ siteApproot app req
|