async-refresh-tokens 0.2.0.0 → 0.3.0.0
raw patch · 3 files changed
+71/−59 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Control.Concurrent.Async.Refresh.Tokens: newEmptyTokenStore :: (MonadIO m, IsToken t) => proxy t -> m (TVar (Either SomeException (Token t)))
+ Control.Concurrent.Async.Refresh.Tokens: newEmptyTokenStore :: (MonadIO m, IsToken t) => m (TVar (Either SomeException (Token t)))
Files
- async-refresh-tokens.cabal +66/−55
- src/Control/Concurrent/Async/Refresh/Tokens.hs +4/−3
- test/Spec.hs +1/−1
async-refresh-tokens.cabal view
@@ -1,60 +1,71 @@-name: async-refresh-tokens-version: 0.2.0.0-synopsis: Package implementing core logic for refreshing of expiring access tokens-description: This package can be used for renewal of expiring access tokens- according to user-provided actions. Tokens will be stored in a- transactional variable (TVar).-homepage: https://github.com/mtesseract/async-refresh-tokens#readme-license: BSD3-license-file: LICENSE-author: Moritz Schulte-maintainer: mtesseract@silverratio.net-copyright: (c) 2017 Moritz Schulte-category: Control-build-type: Simple-extra-source-files: README.md-cabal-version: >=1.10+-- This file has been generated from package.yaml by hpack version 0.17.0.+--+-- see: https://github.com/sol/hpack -library- hs-source-dirs: src- exposed-modules: Control.Concurrent.Async.Refresh.Tokens- other-modules: Control.Concurrent.Async.Refresh.Tokens.Types- , Control.Concurrent.Async.Refresh.Tokens.Lenses- , Control.Concurrent.Async.Refresh.Tokens.Prelude- , Control.Concurrent.Async.Refresh.Tokens.Conf- build-depends: base >= 4.7 && < 5- , async-refresh >= 0.2.0.2- , monad-logger- , lifted-async- , stm- , microlens >= 0.4- , microlens-th >= 0.4- , text- , monad-control- , safe-exceptions- , bytestring- , formatting- default-language: Haskell2010- default-extensions: NoImplicitPrelude- , OverloadedStrings- ghc-options: -Wall+name: async-refresh-tokens+version: 0.3.0.0+synopsis: Package implementing core logic for refreshing of expiring access tokens+description: This package can be used for renewal of expiring access tokens according to user-provided actions. Tokens will be stored in a transactional variable (TVar).+category: Control+homepage: https://github.com/mtesseract/async-refresh-tokens#readme+bug-reports: https://github.com/mtesseract/async-refresh-tokens/issues+author: Moritz Schulte+maintainer: mtesseract@silverratio.net+copyright: (c) 2017 Moritz Schulte+license: BSD3+license-file: LICENSE+build-type: Simple+cabal-version: >= 1.10 -test-suite async-refresh-tokens-test- type: exitcode-stdio-1.0- hs-source-dirs: test- main-is: Spec.hs- build-depends: base- , async-refresh-tokens- , HUnit- , test-framework- , test-framework-hunit- , criterion- , monad-logger- , stm- ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -fno-warn-type-defaults- default-language: Haskell2010- default-extensions: OverloadedStrings+extra-source-files:+ README.md source-repository head- type: git+ type: git location: https://github.com/mtesseract/async-refresh-tokens++library+ hs-source-dirs:+ src+ default-extensions: OverloadedStrings NoImplicitPrelude+ ghc-options: -Wall+ build-depends:+ monad-logger+ , stm+ , base >=4.7 && <5+ , async-refresh >=0.2.0.2+ , lifted-async+ , microlens >=0.4+ , microlens-th >=0.4+ , text+ , monad-control+ , safe-exceptions+ , bytestring+ , formatting+ exposed-modules:+ Control.Concurrent.Async.Refresh.Tokens+ other-modules:+ Control.Concurrent.Async.Refresh.Tokens.Conf+ Control.Concurrent.Async.Refresh.Tokens.Lenses+ Control.Concurrent.Async.Refresh.Tokens.Prelude+ Control.Concurrent.Async.Refresh.Tokens.Types+ Paths_async_refresh_tokens+ default-language: Haskell2010++test-suite async-refresh-tokens-test+ type: exitcode-stdio-1.0+ main-is: Spec.hs+ hs-source-dirs:+ test+ default-extensions: OverloadedStrings+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -fno-warn-type-defaults+ build-depends:+ monad-logger+ , stm+ , base+ , async-refresh-tokens+ , HUnit+ , test-framework+ , test-framework-hunit+ , criterion+ default-language: Haskell2010
src/Control/Concurrent/Async/Refresh/Tokens.hs view
@@ -39,7 +39,8 @@ import Control.Concurrent.Async.Refresh.Tokens.Prelude -import Control.Concurrent.Async.Lifted.Safe (cancel, waitAny)+import Control.Concurrent.Async.Lifted.Safe (cancel,+ waitAny) import Control.Concurrent.Async.Refresh import Control.Concurrent.Async.Refresh.Tokens.Conf import qualified Control.Concurrent.Async.Refresh.Tokens.Lenses as Lens@@ -98,6 +99,6 @@ -- | Create a new empty token store for the provided token type. newEmptyTokenStore :: (MonadIO m, IsToken t)- => proxy t -> m (TVar (Either SomeException (Token t)))-newEmptyTokenStore _ = atomically $+ => m (TVar (Either SomeException (Token t)))+newEmptyTokenStore = atomically $ newTVar (Left (toException (TokenNotFound "")))
test/Spec.hs view
@@ -21,7 +21,7 @@ createTokenStoreFoo :: LoggingT IO (TokenStore TokenFoo) createTokenStoreFoo = do- tokenFoo <- newEmptyTokenStore (Proxy :: Proxy TokenFoo)+ tokenFoo <- newEmptyTokenStore let conf = defaultTokenConf & tokenConfAddRequest (RequestToken tokenFoo actionFoo) _ <- newTokenRefresher conf