aboutsummaryrefslogtreecommitdiff
path: root/src/Cors.hs
blob: ccfcec5e0879219bf55ea7f40d71e9d9a1cc39c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)