wai-middleware-caching-0.1.0.2: WAI Middleware to cache things

Safe HaskellNone
LanguageHaskell2010

Network.Wai.Middleware.Cache

Synopsis

Documentation

cache Source

Arguments

:: CacheBackend cc ck cv

A cache backend

-> Middleware 

cacheNoBody Source

Arguments

:: CacheBackend cc ck cv

A cache backend

-> Middleware 

data CacheBackend cacheContainer cacheKey cacheVal Source

The data structure that should contains everything you need to create a cache backend

Constructors

CacheBackend 

Fields

keyFromReq :: Request -> ByteString -> IO cacheKey

Get cacheKey from request and its body

toCache :: Request -> ByteString -> IO Bool

Function to check whether cache or not

addToCache :: cacheContainer -> cacheKey -> cacheVal -> IO ()

Adding to cache

actionOnCache :: Request -> Response -> IO ()

Action to perform before each caching request

actionOnCacheMiss :: Request -> Response -> IO ()

Action to perfom before each cache miss

responseToCacheVal :: Response -> IO cacheVal

Transform response to cached value

cacheValToResponse :: cacheVal -> Response

Transform cached value to response

lookupCache :: cacheContainer -> cacheKey -> IO (Maybe cacheVal)

cache lookup

cacheContainer :: cacheContainer

A cache container

responseToLBS :: Response -> IO ByteString Source

Helper for your cache backend