module Network.Wai.Middleware.Headers
( cors
, addHeaders
) where
import Network.Wai
import Data.ByteString
import Network.HTTP.Types (Header)
cors :: Middleware
cors = addHeaders [("Access-Control-Allow-Origin", "*")]
addHeaders :: [Header] -> Middleware
addHeaders hs app env = do
res <- app env
return $ case res of
ResponseFile s rhs f mfp -> ResponseFile s (fix rhs) f mfp
ResponseBuilder s rhs b -> ResponseBuilder s (fix rhs) b
ResponseSource s rhs src -> ResponseSource s (fix rhs) src
where fix rhs = rhs ++ hs