我正在为我的Yesod JSON服务器编写一个.js的客户端。在检查标头流量时,Chrome 似乎正在发送一个 OPTIONS 方法,我的处理程序拒绝了该方法。调查建议我应该发回这样的东西:
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://source.com
Access-Control-Allow-Headers: Content-Type, *
看着脚手架,我发现makeApplication
开始了一条我想走的路:
makeApplication :: AppConfig DefaultEnv Extra -> IO Application
makeApplication conf = do
foundation <- makeFoundation conf
app <- toWaiAppPlain foundation
return $ logWare app
where
logWare = if development then logStdoutDev
else logStdout
最初,我认为我需要修改conf
,但据我所知,管理操作系统环境。全局更改响应标头最直接的位置在哪里?
可能最简单的事情是除了 logWare 之外添加另一个中间件。