apiary-clientsession 0.10.0 → 0.11.0
raw patch · 2 files changed
+16/−16 lines, 2 filesdep ~apiarydep ~apiary-cookiePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: apiary, apiary-cookie
API changes (from Hackage documentation)
- Web.Apiary.ClientSession: domain :: SessionConfig -> Maybe ByteString
- Web.Apiary.ClientSession: httpOnly :: SessionConfig -> Bool
- Web.Apiary.ClientSession: keyFile :: SessionConfig -> FilePath
- Web.Apiary.ClientSession: maxAge :: SessionConfig -> DiffTime
- Web.Apiary.ClientSession: path :: SessionConfig -> Maybe ByteString
- Web.Apiary.ClientSession: secure :: SessionConfig -> Bool
- Web.Apiary.ClientSession.Explicit: domain :: SessionConfig -> Maybe ByteString
- Web.Apiary.ClientSession.Explicit: httpOnly :: SessionConfig -> Bool
- Web.Apiary.ClientSession.Explicit: keyFile :: SessionConfig -> FilePath
- Web.Apiary.ClientSession.Explicit: maxAge :: SessionConfig -> DiffTime
- Web.Apiary.ClientSession.Explicit: path :: SessionConfig -> Maybe ByteString
- Web.Apiary.ClientSession.Explicit: secure :: SessionConfig -> Bool
+ Web.Apiary.ClientSession: sessionDomain :: SessionConfig -> Maybe ByteString
+ Web.Apiary.ClientSession: sessionHttpOnly :: SessionConfig -> Bool
+ Web.Apiary.ClientSession: sessionKeyFile :: SessionConfig -> FilePath
+ Web.Apiary.ClientSession: sessionMaxAge :: SessionConfig -> DiffTime
+ Web.Apiary.ClientSession: sessionPath :: SessionConfig -> Maybe ByteString
+ Web.Apiary.ClientSession: sessionSecure :: SessionConfig -> Bool
+ Web.Apiary.ClientSession.Explicit: sessionDomain :: SessionConfig -> Maybe ByteString
+ Web.Apiary.ClientSession.Explicit: sessionHttpOnly :: SessionConfig -> Bool
+ Web.Apiary.ClientSession.Explicit: sessionKeyFile :: SessionConfig -> FilePath
+ Web.Apiary.ClientSession.Explicit: sessionMaxAge :: SessionConfig -> DiffTime
+ Web.Apiary.ClientSession.Explicit: sessionPath :: SessionConfig -> Maybe ByteString
+ Web.Apiary.ClientSession.Explicit: sessionSecure :: SessionConfig -> Bool
Files
apiary-clientsession.cabal view
@@ -1,5 +1,5 @@ name: apiary-clientsession-version: 0.10.0+version: 0.11.0 synopsis: clientsession support for apiary web framework. description: examples:@@ -27,8 +27,8 @@ other-extensions: build-depends: base >=4.6 && <4.8 , bytestring >=0.10 && <0.11- , apiary >=0.9 && <0.11- , apiary-cookie >=0.9 && <0.11+ , apiary >=0.9 && <0.12+ , apiary-cookie >=0.9 && <0.12 , clientsession >=0.9 && <0.10 , time >=1.4 && <1.5 , data-default-class >=0.0 && <0.1
src/Web/Apiary/ClientSession/Internal.hs view
@@ -45,12 +45,12 @@ } data SessionConfig = SessionConfig- { keyFile :: FilePath- , maxAge :: DiffTime- , path :: Maybe S.ByteString- , domain :: Maybe S.ByteString- , httpOnly :: Bool- , secure :: Bool+ { sessionKeyFile :: FilePath+ , sessionMaxAge :: DiffTime+ , sessionPath :: Maybe S.ByteString+ , sessionDomain :: Maybe S.ByteString+ , sessionHttpOnly :: Bool+ , sessionSecure :: Bool , angularXsrfCookieName :: Maybe S.ByteString , csrfTokenCookieName :: S.ByteString@@ -66,7 +66,7 @@ withSession :: MonadIO m => SessionConfig -> (Session -> m b) -> m b withSession cfg@SessionConfig{..} m = do- k <- liftIO $ getKey keyFile+ k <- liftIO $ getKey sessionKeyFile p <- liftIO $ makeSystem >>= newIORef let sess = Session k p cfg m sess@@ -85,16 +85,16 @@ mkSessionCookie :: SessionConfig -> Key -> S.ByteString -> S.ByteString -> IO SetCookie mkSessionCookie conf key k v = do t <- getCurrentTime- let expire = addUTCTime (realToFrac $ maxAge conf) t+ let expire = addUTCTime (realToFrac $ sessionMaxAge conf) t v' <- encryptIO key $ L.toStrict $ encode (BinUTCTime expire, v) return def { setCookieName = k , setCookieValue = v'- , setCookiePath = path conf+ , setCookiePath = sessionPath conf , setCookieExpires = Just expire- , setCookieMaxAge = Just (maxAge conf)- , setCookieDomain = domain conf- , setCookieHttpOnly = httpOnly conf- , setCookieSecure = secure conf+ , setCookieMaxAge = Just (sessionMaxAge conf)+ , setCookieDomain = sessionDomain conf+ , setCookieHttpOnly = sessionHttpOnly conf+ , setCookieSecure = sessionSecure conf } getSessionValue :: Session -> UTCTime -- ^ current time