packages feed

wai-middleware-cache 0.1.0 → 0.2.0

raw patch · 2 files changed

+14/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Network.Wai.Middleware.Cache: CacheBackendError :: ByteString -> CacheBackendError
+ Network.Wai.Middleware.Cache: data CacheBackendError
+ Network.Wai.Middleware.Cache: instance Eq CacheBackendError
+ Network.Wai.Middleware.Cache: instance Exception CacheBackendError
+ Network.Wai.Middleware.Cache: instance Show CacheBackendError
+ Network.Wai.Middleware.Cache: instance Typeable CacheBackendError

Files

src/Network/Wai/Middleware/Cache.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} 
 
 -- | Transparent front cache middleware for 'Network.Wai'.
 --   
@@ -12,11 +13,16 @@ module Network.Wai.Middleware.Cache (
     -- * Backend
     CacheBackend,
+    CacheBackendError(..),
     -- * Middleware
     cache
 ) where
 
+import Control.Exception (Exception)
+
 import Data.Maybe (fromMaybe)
+import Data.Typeable (Typeable)
+import Data.ByteString (ByteString)
 import Data.ByteString.Lazy (empty)
 import Data.Conduit (ResourceT)
 
@@ -30,6 +36,12 @@        Application      -- ^ Application
     -> Request          -- ^ Request
     -> ResourceT IO (Maybe Response)
+
+-- | Cache backend can throw errors. For handle this, use, for example,
+--   "Network.Wai.Middleware.Catch".
+data CacheBackendError = CacheBackendError ByteString
+    deriving (Show, Eq, Typeable)
+instance Exception CacheBackendError
 
 -- | Cache middleware. Use it with conjuction with 'CacheBackend'.  
 --  
wai-middleware-cache.cabal view
@@ -1,8 +1,8 @@ name:           wai-middleware-cache
-version:        0.1.0
+version:        0.2.0
 cabal-version:  >= 1.8
 build-type:     Simple
-stability:      Experimental
+stability:      Stable
 author:         Alexander Dorofeev <aka.spin@gmail.com>
 maintainer:     Alexander Dorofeev <aka.spin@gmail.com>
 synopsis:       Caching middleware for WAI.