aboutsummaryrefslogtreecommitdiff
path: root/src/Cors.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Cors.hs')
-rw-r--r--src/Cors.hs25
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)