wai-middleware-verbs
====================
Route to different Wai middleware based on the incoming HTTP verb
detected.
## Usage
This library depends on the [wai-transformers](https://hackage.haskell.org/package/wai-transformers)
package - we expect middleware to already be lifted to `MiddlewareT m`.
As an example, here could be your application:
```haskell
import Network.Wai.Trans
import Network.Wai.Middleware.Verbs
myMid1 :: MiddlewareT (ReaderT Env m)
myMid2 :: Middleware
uploadResponse :: ByteString -> MiddlewareT m
uploadResponse _ = liftMiddleware myMid2
verbRoutes :: VerbListenerT (MiddlewareT m) m ()
verbRoutes = do
get myMid1
post uploadResponse
```
Then, to use your newly assembled verb-router, turn the Verbs into a Middleware:
```haskell
verbMid :: MiddlewareT (ReaderT Env m)
verbMid = verbsToMiddleware verbRoutes
```
From there, you can deconstruct your monolithic monad stack back down to `IO`,
and plug-it-in to your existing middleware.