如何向 Yesod 应用程序中的所有端点添加 header?
How can I add an header to all endpoints in Yesod appication?
我有一个 yesod 应用程序。
我需要为所有回复添加一个特定的 header。
很清楚如何使用 addHeader.
对特定端点执行此操作
比方说这个:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
问题:
如何为所有端点配置一次 header?
您可以更改 App
的 instance Yesod App
中的 yesodMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res
字段。例如:
instance Yesod App where
-- ...
<b>yesodMiddleware</b> handler = do
<b>addHeader "X-Frame-Options" "sameorigin"</b>
defaultYesodMiddleware handler
yesodMiddleware
是 "wrapped around" 目标处理程序的功能。您可以在查询处理程序之前和处理程序之后执行任务(例如对结果进行后处理)。
我有一个 yesod 应用程序。 我需要为所有回复添加一个特定的 header。 很清楚如何使用 addHeader.
对特定端点执行此操作比方说这个:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
问题:
如何为所有端点配置一次 header?
您可以更改 App
的 instance Yesod App
中的 yesodMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res
字段。例如:
instance Yesod App where
-- ...
<b>yesodMiddleware</b> handler = do
<b>addHeader "X-Frame-Options" "sameorigin"</b>
defaultYesodMiddleware handler
yesodMiddleware
是 "wrapped around" 目标处理程序的功能。您可以在查询处理程序之前和处理程序之后执行任务(例如对结果进行后处理)。