snaplet-redis 0.1.5 → 0.1.6
raw patch · 5 files changed
+61/−45 lines, 5 filesdep ~aesondep ~basedep ~hedisPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, base, hedis, heist, lens, network, snap, snap-server, snaplet-redis
API changes (from Hackage documentation)
Files
- CHANGELOG.md +26/−7
- example/Site.hs +4/−9
- snaplet-redis.cabal +29/−26
- src/Snap/Snaplet/Auth/Backends/Redis.hs +0/−1
- src/Snap/Snaplet/RedisDB.hs +2/−2
CHANGELOG.md view
@@ -1,13 +1,32 @@-# 0.1.5+# Changelog -- Support using Redis as an authentication and session backend for- Snap.+## [0.1.6] - 2019-02-17 - Contributed by Aaron Ash <aaron.ash@gmail.com>- and Greg Hale <imalsogreg@gmail.com>+### Changed -# 0.1.4+- GHC 8.6.x support -- Support using a Unix socket+## [0.1.5] - 2017-10-29 +### Added++- Support using Redis as an authentication and session backend for+ Snap. \+ Contributed by Aaron Ash <aaron.ash@gmail.com> and Greg Hale+ <imalsogreg@gmail.com>+ (<https://github.com/dzhus/snaplet-redis/pull/13>)++## [0.1.4] - 2014-09-24++### Added++- Support using a Unix socket.\ Contributed by Daniel Patterson <dbp@riseup.net>+ (<https://github.com/dzhus/snaplet-redis/pull/10>)++## [0.1] - 2012-02-15++[0.1.6]: https://github.com/dzhus/snaplet-redis/compare/0.1.5...0.1.6+[0.1.5]: https://github.com/dzhus/snaplet-redis/compare/0.1.4...0.1.5+[0.1.4]: https://github.com/dzhus/snaplet-redis/compare/0.1...0.1.4+[0.1]: https://github.com/dzhus/snaplet-redis/tree/0.1
example/Site.hs view
@@ -9,27 +9,20 @@ module Main where -------------------------------------------------------------------------------import Control.Applicative import Control.Monad.Trans import Control.Monad.Reader import Control.Monad.State import Data.ByteString (ByteString) import Control.Lens-import Data.Maybe import qualified Data.Text as T import qualified Data.Text.Encoding as T-import Data.Time.Clock import qualified Database.Redis as R import Snap import Snap.Snaplet.Auth import Snap.Snaplet.Auth.Backends.Redis-import Snap.Snaplet.Heist import Snap.Snaplet.RedisDB import Snap.Snaplet.Session import Snap.Snaplet.Session.Backends.RedisSession-import Snap.Util.FileServe-import Heist-import Text.XmlHtml hiding (render) ------------------------------------------------------------------------------@@ -50,6 +43,7 @@ , ("find/:email", findHandler) ] +fooHandler :: Handler App App () fooHandler = do env <- with auth get results <- runRedisDB db $ do@@ -60,6 +54,7 @@ liftIO (lookupByLogin env (T.drop 5 $ T.decodeUtf8 l)) liftIO $ print (results :: [Maybe AuthUser]) +addHandler :: Handler App App () addHandler = do mname <- getParam "uname" email <- getParam "email"@@ -71,6 +66,7 @@ liftIO $ print u #if MIN_VERSION_snap(1,1,0)+findHandler :: Handler App App () findHandler = do email <- getParam "email" env <- with auth get@@ -86,7 +82,7 @@ d <- nestSnaplet "db" db redisDBInitConf s <- nestSnaplet "" sess $ initRedisSessionManager "site_key.txt"- "_cookie" Nothing (d ^. snapletValue)+ "_cookie" Nothing (Just $ 60 * 60) (d ^. snapletValue) a <- nestSnaplet "auth" auth $ initRedisAuthManager sess (d ^. snapletValue) addRoutes routes return $ App s d a@@ -94,4 +90,3 @@ main :: IO () main = serveSnaplet defaultConfig app-
snaplet-redis.cabal view
@@ -1,17 +1,17 @@+cabal-version: 1.12 name: snaplet-redis-version: 0.1.5-cabal-version: >=1.10-build-type: Simple+version: 0.1.6 license: BSD3 license-file: LICENSE maintainer: dima@dzhus.org+author: Dmitry Dzhus homepage: https://github.com/dzhus/snaplet-redis#readme bug-reports: https://github.com/dzhus/snaplet-redis/issues synopsis: Redis support for Snap Framework description: This package provides a snaplet which exposes interface to Redis in-memory key-value storage as implemented by Hedis library. Inline documentation contains usage examples. category: Web, Snap-author: Dmitry Dzhus+build-type: Simple extra-source-files: CHANGELOG.md @@ -29,47 +29,50 @@ Snap.Snaplet.Auth.Backends.Redis Snap.Snaplet.RedisDB Snap.Snaplet.Session.Backends.RedisSession+ hs-source-dirs: src+ other-modules:+ Paths_snaplet_redis+ default-language: Haskell2010+ ghc-options: -Wall build-depends: base <5, bytestring <0.11, cereal <0.6, clientsession <0.10, configurator <0.4,- lens <4.16,- hedis <0.10,+ hedis <0.13,+ lens <4.18, mtl <2.3,- network <2.7,- snap <1.1,+ network <2.9,+ snap <1.2, snap-core <1.1,- transformers <0.6, text <1.3, time <1.9,+ transformers <0.6, unordered-containers <0.3- default-language: Haskell2010- hs-source-dirs: src- ghc-options: -Wall executable Example- - if !flag(example)- buildable: False main-is: Site.hs+ hs-source-dirs: example+ other-modules:+ Paths_snaplet_redis+ default-language: Haskell2010 build-depends:- base <4.11,- aeson <1.2,+ aeson <1.5,+ base <4.13, bytestring <0.11,- lens <4.16,- hedis <0.10,- heist <1.1,+ hedis <0.13,+ heist <1.2,+ lens <4.18, monad-control <1.1, mtl <2.3,- snap <1.1,+ snap <1.2, snap-core <1.1,- snap-server <1.1,- snaplet-redis <0.2,+ snap-server <1.2,+ snaplet-redis -any, text <1.3, time <1.9, xmlhtml <0.3- default-language: Haskell2010- hs-source-dirs: example-+ + if !flag(example)+ buildable: False
src/Snap/Snaplet/Auth/Backends/Redis.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleInstances #-}
src/Snap/Snaplet/RedisDB.hs view
@@ -110,8 +110,8 @@ let def = defaultConnectInfo return $ def { connectHost = fromMaybe (connectHost def) cHost- , connectPort = fromMaybe (connectPort def)- (unConfiguredPortID <$> cPort)+ , connectPort = maybe (connectPort def)+ unConfiguredPortID cPort , connectAuth = cAuth , connectMaxConnections = fromMaybe (connectMaxConnections def) cCons