我有一个yesod申请。 我需要为所有响应添加特定的标头。 很清楚如何使用addHeader对特定端点执行此操作。
让我们这样说:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
问题:
如何为所有端点一次配置标头?
答案 0 :(得分:4)
您可以更改instance Yesod App
的{{1}}中的yesodMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res
字段。例如:
App
因此instance Yesod App where
-- ...
yesodMiddleware handler = do
addHeader "X-Frame-Options" "sameorigin"
defaultYesodMiddleware handler
是“包装”目标处理程序的功能。您可以在查询处理程序之前和之后处理任务(例如,对结果进行后处理)。