{-# LANGUAGE OverloadedStrings #-} module Cors (corsMiddleware) where import Network.Wai.Middleware.Cors ( simpleCorsResourcePolicy , cors , CorsResourcePolicy(..) ) import Network.Wai (Middleware) import Data.ByteString (ByteString) matrixCorsPolicy :: CorsResourcePolicy matrixCorsPolicy = simpleCorsResourcePolicy { corsOrigins = Just ([], True) -- Access-Control-Allow-Origin: * , corsMethods = [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ] , corsRequestHeaders = [ "X-Requested-With" , "Content-Type" , "Authorization" ] } corsMiddleware :: Middleware corsMiddleware = cors (const $ Just matrixCorsPolicy)