wai-session 0.1.1 → 0.2
raw patch · 2 files changed
+10/−5 lines, 2 files
Files
- Network/Wai/Session.hs +9/−4
- wai-session.cabal +1/−1
Network/Wai/Session.hs view
@@ -5,9 +5,14 @@ import Data.Ratio (numerator, denominator) import Data.Time.Clock.POSIX (getPOSIXTime) import Data.String (fromString)-import Control.Monad.Trans.Class (lift)+import Control.Monad.IO.Class (liftIO) import Network.HTTP.Types (ResponseHeaders)-import Network.Wai (Middleware, Request(..), Response(..))+import Network.Wai (Middleware, Request(..))+#if MIN_VERSION_wai(2,0,0)+import Network.Wai.Internal (Response(ResponseBuilder,ResponseFile,ResponseSource))+#else+import Network.Wai (Response(ResponseBuilder,ResponseFile,ResponseSource))+#endif import Web.Cookie (parseCookies, renderSetCookie, SetCookie(..)) #if MIN_VERSION_vault(0,3,0)@@ -39,9 +44,9 @@ -- ^ 'Data.Vault.Vault' key to use when passing the session through -> Middleware withSession sessions cookieName cookieDefaults vkey app req = do- (session, getNewCookie) <- lift $ sessions $ lookup cookieName =<< cookies+ (session, getNewCookie) <- liftIO $ sessions $ lookup cookieName =<< cookies resp <- app (req {vault = Vault.insert vkey session (vault req)})- newCookieVal <- lift getNewCookie+ newCookieVal <- liftIO getNewCookie return $ mapHeader (\hs -> (setCookie, newCookie newCookieVal):hs) resp where newCookie v = Builder.toByteString $ renderSetCookie $ cookieDefaults {
wai-session.cabal view
@@ -1,5 +1,5 @@ name: wai-session-version: 0.1.1+version: 0.2 cabal-version: >= 1.8 license: OtherLicense license-file: COPYING