wai-extra-2.0.0: Network/Wai/Middleware/Autohead.hs
{-# LANGUAGE OverloadedStrings #-}
-- | Automatically produce responses to HEAD requests based on the underlying
-- applications GET response.
module Network.Wai.Middleware.Autohead (autohead) where
import Network.Wai
import Network.Wai.Internal
import Data.Monoid (mempty)
autohead :: Middleware
autohead app req
| requestMethod req == "HEAD" = do
res <- app req { requestMethod = "GET" }
case res of
ResponseFile s hs _ _ -> return $ ResponseBuilder s hs mempty
ResponseBuilder s hs _ -> return $ ResponseBuilder s hs mempty
ResponseSource s hs _ -> return $ ResponseBuilder s hs mempty
| otherwise = app req