wai-middleware-cache-0.2.0: Caching middleware for WAI.

Safe HaskellSafe-Infered

Network.Wai.Middleware.Cache

Contents

Description

Transparent front cache middleware for Wai.

Instead caching internal data, this middleware caches entire responses. Of course, this creates additional costs. However, the simplification of the internal structure and concentration of caching in the immediate vicinity of the request is more than redeem them.

 cache (debugBackend True)
       ourFrivolousApplication

Synopsis

Backend

type CacheBackendSource

Arguments

 = Application

Application

-> Request

Request

-> ResourceT IO (Maybe Response) 

Abstract cache backend. Result may be Nothing you need to respond wirh status 304 - Not Modified.

Middleware

cacheSource

Arguments

:: CacheBackend

Cache backend.

-> Middleware 

Cache middleware. Use it with conjuction with CacheBackend.

 -- Simplest backend. Suggests @304 - Not Modified@ with site root.
 rootBackend app req = do 
     case rawPathInfo req of
         "/" -> return Nothing
         _ -> do
             res <- app req 
             return $ Just res