YesodJSONサーバーのクライアントをangular.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
いましたが、OS環境を管理していることが理解できます。応答ヘッダーをグローバルに変更するための最も簡単な場所はどこですか?