2

我正在 angular.js 中为我的 Yesod JSON 服务器编写一个客户端。在检查标头流量时,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,但据我所知,管理操作系统环境。全局更改响应标头最直接的地方在哪里?

4

1 回答 1

2

大概最简单的就是除了logWare之外再添加一个中间件。

于 2012-12-07T04:07:09.703 回答