如何在Yesod应用中向所有端点添加标头?

时间:2019-07-08 12:25:27

标签: security haskell http-headers yesod

我有一个申请。 我需要为所有响应添加特定的标头。 很清楚如何使用addHeader对特定端点执行此操作。

让我们这样说:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

问题:

如何为所有端点一次配置标头?

1 个答案:

答案 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是“包装”目标处理程序的功能。您可以在查询处理程序之前和之后处理任务(例如,对结果进行后处理)。