Avoid importing from Web.ServerSession.Core.Internal.

This commit is contained in:
Felipe Lessa 2015-05-25 20:01:28 -03:00
parent e5203db715
commit fef17ea919
3 changed files with 28 additions and 4 deletions

View File

@ -14,7 +14,6 @@ import Data.ByteString (ByteString)
import Data.Default (def) import Data.Default (def)
import Web.PathPieces (toPathPiece) import Web.PathPieces (toPathPiece)
import Web.ServerSession.Core import Web.ServerSession.Core
import Web.ServerSession.Core.Internal (cookieName, httpOnlyCookies, secureCookies)
import Yesod.Core (MonadHandler) import Yesod.Core (MonadHandler)
import Yesod.Core.Handler (setSessionBS) import Yesod.Core.Handler (setSessionBS)
import Yesod.Core.Types (Header(AddCookie), SessionBackend(..)) import Yesod.Core.Types (Header(AddCookie), SessionBackend(..))
@ -79,7 +78,7 @@ backend state =
return (sessionMap, save) return (sessionMap, save)
} }
where where
cookieNameBS = TE.encodeUtf8 $ cookieName state cookieNameBS = TE.encodeUtf8 $ getCookieName state
-- | Create a cookie for the given session ID. -- | Create a cookie for the given session ID.
@ -94,8 +93,8 @@ createCookie state cookieNameBS session =
, C.setCookiePath = Just "/" , C.setCookiePath = Just "/"
, C.setCookieExpires = cookieExpires state session , C.setCookieExpires = cookieExpires state session
, C.setCookieDomain = Nothing , C.setCookieDomain = Nothing
, C.setCookieHttpOnly = httpOnlyCookies state , C.setCookieHttpOnly = getHttpOnlyCookies state
, C.setCookieSecure = secureCookies state , C.setCookieSecure = getSecureCookies state
} }

View File

@ -9,6 +9,9 @@ module Web.ServerSession.Core
, SessionMap , SessionMap
, State , State
, createState , createState
, getCookieName
, getHttpOnlyCookies
, getSecureCookies
, loadSession , loadSession
, cookieExpires , cookieExpires
, saveSession , saveSession

View File

@ -18,6 +18,10 @@ module Web.ServerSession.Core.Internal
, setPersistentCookies , setPersistentCookies
, setHttpOnlyCookies , setHttpOnlyCookies
, setSecureCookies , setSecureCookies
, getCookieName
, getHttpOnlyCookies
, getSecureCookies
, loadSession , loadSession
, checkExpired , checkExpired
, nextExpires , nextExpires
@ -300,6 +304,24 @@ setSecureCookies :: Bool -> State s -> State s
setSecureCookies val state = state { secureCookies = val } 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 -- | Load the session map from the storage backend. The value of
-- the session cookie should be given as argument if present. -- the session cookie should be given as argument if present.
-- --