packages feed

avers-server 0.0.17.0 → 0.0.17.2

raw patch · 3 files changed

+58/−57 lines, 3 filesdep ~aesondep ~base64-bytestringdep ~bytestringPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson, base64-bytestring, bytestring, bytestring-conversion, containers, cookie, cryptonite, either, http-types, memory, mtl, resource-pool, rethinkdb-client-driver, servant, servant-server, stm, text, time, transformers, wai, wai-websockets, websockets

API changes (from Hackage documentation)

- Avers.Server: credentialsObjId :: Handle -> Credentials -> ExceptT ServantErr IO ObjId
+ Avers.Server: credentialsObjId :: Handle -> Credentials -> Handler ObjId
- Avers.Server: runAuthorization :: Handle -> Authz -> ExceptT ServantErr IO ()
+ Avers.Server: runAuthorization :: Handle -> Authz -> Handler ()

Files

avers-server.cabal view
@@ -1,55 +1,56 @@-name: avers-server-version: 0.0.17.0-cabal-version: >=1.10-build-type: Simple-license: MIT-license-file: LICENSE-copyright: 2016 Tomas Carnecky-maintainer: tomas.carnecky@gmail.com-homepage: http://github.com/wereHamster/avers-server-synopsis: Server implementation of the Avers API-description:-    See README.md-category: Avers-author: Tomas Carnecky+name:                avers-server+version:             0.0.17.2+synopsis:            Server implementation of the Avers API+description:         See README.md+homepage:            http://github.com/wereHamster/avers-server+license:             MIT+license-file:        LICENSE+author:              Tomas Carnecky+maintainer:          tomas.carnecky@gmail.com+copyright:           2016 Tomas Carnecky+category:            Avers+build-type:          Simple+cabal-version:       >=1.10  source-repository head-    type: git-    location: https://github.com/wereHamster/avers-server+  type:     git+  location: https://github.com/wereHamster/avers  library-    exposed-modules:-        Avers.Server-    build-depends:-        base >=4.7 && <5,-        aeson >=1.0.2.0 && <1.1,-        avers -any,-        avers-api -any,-        base64-bytestring >=1.0.0.1 && <1.1,-        bytestring >=0.10.8.1 && <0.11,-        bytestring-conversion >=0.3.1 && <0.4,-        containers >=0.5.7.1 && <0.6,-        cookie >=0.4.2.1 && <0.5,-        cryptonite ==0.20.*,-        either >=4.4.1.1 && <4.5,-        http-types >=0.9.1 && <0.10,-        memory ==0.13.*,-        mtl >=2.2.1 && <2.3,-        resource-pool >=0.2.3.2 && <0.3,-        rethinkdb-client-driver >=0.0.23 && <0.1,-        servant >=0.9.0.1 && <0.10,-        servant-server >=0.9.0.1 && <0.10,-        stm >=2.4.4.1 && <2.5,-        text >=1.2.2.1 && <1.3,-        time >=1.6.0.1 && <1.7,-        transformers >=0.5.2.0 && <0.6,-        wai >=3.2.1.1 && <3.3,-        wai-websockets >=3.0.1.1 && <3.1,-        websockets >=0.9.7.0 && <0.10-    default-language: Haskell2010-    hs-source-dirs: src-    other-modules:-        Avers.Server.Authorization-        Avers.Server.Instances-    ghc-options: -Wall+  default-language:    Haskell2010+  hs-source-dirs:      src+  ghc-options:         -Wall +  exposed-modules:+     Avers.Server++  other-modules:+     Avers.Server.Authorization+   , Avers.Server.Instances++  build-depends:+     base >= 4.7 && < 5+   , aeson+   , avers+   , avers-api+   , base64-bytestring+   , bytestring+   , bytestring-conversion+   , containers+   , cookie+   , cryptonite+   , either+   , http-types+   , memory+   , mtl+   , resource-pool+   , rethinkdb-client-driver+   , servant+   , servant-server+   , stm+   , text+   , time+   , transformers+   , wai+   , wai-websockets+   , websockets
src/Avers/Server.hs view
@@ -65,7 +65,7 @@  -- | Convert the 'Credentials' into an 'ObjId' to which the ceredentials refer. -- That's the object the client is authenticated as.-credentialsObjId :: Handle -> Credentials -> ExceptT ServantErr IO ObjId+credentialsObjId :: Handle -> Credentials -> Handler ObjId credentialsObjId aversH cred = do     errOrObjId <- case cred of         SessionIdCredential sId -> liftIO $ evalAvers aversH $@@ -76,12 +76,12 @@         Right s -> pure s  -failWith :: Text -> ExceptT ServantErr IO b+failWith :: Text -> Handler b failWith e = throwError $ err500     { errBody = LBS.fromChunks [T.encodeUtf8 e] }  -aversResult :: Either AversError a -> ExceptT ServantErr IO a+aversResult :: Either AversError a -> Handler a aversResult res = case res of     Left e -> case e of         DatabaseError detail                  -> failWith $ "database " <> detail@@ -96,11 +96,11 @@     Right r -> pure r  -reqAvers :: Handle -> Avers a -> ExceptT ServantErr IO a+reqAvers :: Handle -> Avers a -> Handler a reqAvers aversH m = liftIO (evalAvers aversH m) >>= aversResult  -cacheableResponse :: (ToJSON a) => Maybe Text -> a -> ExceptT ServantErr IO (Cacheable a)+cacheableResponse :: (ToJSON a) => Maybe Text -> a -> Handler (Cacheable a) cacheableResponse mbValidationToken a = do     let etag = T.decodeUtf8 $ convertToBase Base64 $ (hashlazy (encode a) :: Digest SHA3_256)     if mbValidationToken == Just (etagVersion <> ":" <> etag)@@ -302,7 +302,7 @@     sessionCookieName     = "session"     sessionExpirationTime = 2 * 365 * 24 * 60 * 60 -    mkSetCookie :: SessionId -> ExceptT ServantErr IO SetCookie+    mkSetCookie :: SessionId -> Handler SetCookie     mkSetCookie sId = do         now <- liftIO $ getCurrentTime         pure $ def
src/Avers/Server/Authorization.hs view
@@ -92,7 +92,7 @@ -------------------------------------------------------------------------------- -- | Run the authorization logic inside of the Servant monad. -runAuthorization :: Handle -> Authz -> ExceptT ServantErr IO ()+runAuthorization :: Handle -> Authz -> Handler () runAuthorization _      []     = pure () runAuthorization aversH (x:xs) = do     res <- liftIO $ evalAvers aversH x