diff --git a/serversession-frontend-yesod/src/Web/ServerSession/Frontend/Yesod/Internal.hs b/serversession-frontend-yesod/src/Web/ServerSession/Frontend/Yesod/Internal.hs index fdbc784..3cd8935 100644 --- a/serversession-frontend-yesod/src/Web/ServerSession/Frontend/Yesod/Internal.hs +++ b/serversession-frontend-yesod/src/Web/ServerSession/Frontend/Yesod/Internal.hs @@ -14,7 +14,6 @@ import Data.ByteString (ByteString) import Data.Default (def) import Web.PathPieces (toPathPiece) import Web.ServerSession.Core -import Web.ServerSession.Core.Internal (cookieName, httpOnlyCookies, secureCookies) import Yesod.Core (MonadHandler) import Yesod.Core.Handler (setSessionBS) import Yesod.Core.Types (Header(AddCookie), SessionBackend(..)) @@ -79,7 +78,7 @@ backend state = return (sessionMap, save) } where - cookieNameBS = TE.encodeUtf8 $ cookieName state + cookieNameBS = TE.encodeUtf8 $ getCookieName state -- | Create a cookie for the given session ID. @@ -94,8 +93,8 @@ createCookie state cookieNameBS session = , C.setCookiePath = Just "/" , C.setCookieExpires = cookieExpires state session , C.setCookieDomain = Nothing - , C.setCookieHttpOnly = httpOnlyCookies state - , C.setCookieSecure = secureCookies state + , C.setCookieHttpOnly = getHttpOnlyCookies state + , C.setCookieSecure = getSecureCookies state } diff --git a/serversession/src/Web/ServerSession/Core.hs b/serversession/src/Web/ServerSession/Core.hs index fb6c321..d7469e7 100644 --- a/serversession/src/Web/ServerSession/Core.hs +++ b/serversession/src/Web/ServerSession/Core.hs @@ -9,6 +9,9 @@ module Web.ServerSession.Core , SessionMap , State , createState + , getCookieName + , getHttpOnlyCookies + , getSecureCookies , loadSession , cookieExpires , saveSession diff --git a/serversession/src/Web/ServerSession/Core/Internal.hs b/serversession/src/Web/ServerSession/Core/Internal.hs index 61d7e76..13f3162 100644 --- a/serversession/src/Web/ServerSession/Core/Internal.hs +++ b/serversession/src/Web/ServerSession/Core/Internal.hs @@ -18,6 +18,10 @@ module Web.ServerSession.Core.Internal , setPersistentCookies , setHttpOnlyCookies , setSecureCookies + , getCookieName + , getHttpOnlyCookies + , getSecureCookies + , loadSession , checkExpired , nextExpires @@ -300,6 +304,24 @@ setSecureCookies :: Bool -> State s -> State s setSecureCookies val state = state { secureCookies = val } +-- | Cf. 'setCookieName'. +getCookieName :: State s -> Text +getCookieName = cookieName + + +-- | Cf. 'setHttpOnlyCookies'. +getHttpOnlyCookies :: State s -> Bool +getHttpOnlyCookies = httpOnlyCookies + + +-- | Cf. 'setSecureCookies'. +getSecureCookies :: State s -> Bool +getSecureCookies = secureCookies + + +---------------------------------------------------------------------- + + -- | Load the session map from the storage backend. The value of -- the session cookie should be given as argument if present. --