Как добавить заголовок ко всем конечным точкам в приложении Yesod? - PullRequest
1 голос
/ 08 июля 2019

У меня есть приложение . Мне нужно добавить конкретный заголовок для всех ответов. Понятно, как это сделать с определенной конечной точкой, используя addHeader .

Скажем так: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

Вопрос:

Как настроить заголовок один раз для всех конечных точек?

1 Ответ

4 голосов
/ 08 июля 2019

Вы можете изменить поле yesodMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res в instance Yesod App вашего App.Например, с:

instance Yesod App where
    -- ...
    <b>yesodMiddleware</b> handler = do
        <b>addHeader "X-Frame-Options" "sameorigin"</b>
        defaultYesodMiddleware handler

Таким образом, yesodMiddleware - это функциональность, которая «оборачивается» целевым обработчиком.Вы можете выполнять задачи перед запросом обработчика и после обработчика (например, для последующей обработки результата).

...