diff options
Diffstat (limited to 'src/Cors.hs')
| -rw-r--r-- | src/Cors.hs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Cors.hs b/src/Cors.hs new file mode 100644 index 0000000..ccfcec5 --- /dev/null +++ b/src/Cors.hs @@ -0,0 +1,25 @@ +{-# 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) |