Настройка заголовков ответа в промежуточном программном обеспечении Wai

В настоящее время я использую wai-middleware-static для обслуживания пользовательских страниц для моего сервера. Однако я увидел, что мой сервер получает запросы на favicon.ico и т. д. при каждой загрузке страницы, а также каждый из моих веб-шрифтов, поэтому я решил проверить настройки кеша в заголовках ответов и обнаружил, что их нет.

wai-middleware-static возвращает значение Middleware, которое, я думаю, является обратным вызовом функции, предоставляемой промежуточным программным обеспечением, которое запускается при каждом запросе. Есть ли способ изменить это, чтобы добавить заголовок ответа, чтобы указать браузеру кэшировать результат?


person Justin L.    schedule 13.08.2013    source источник


Ответы (1)


Несколько промежуточных программ могут быть объединены в цепочку с обычной функциональной композицией, например:

middleware1 . middleware2

Поэтому, если у вас есть промежуточное ПО, добавляющее настройки кеша в ответ, вы должны установить его. Базовая структура, которая может вам помочь:

addCacheSettings :: Middleware
addCacheSettings innerApp request = do
    innerResponse <- innerApp request
    return $ myHelper innerResponse
  where
    myHelper :: Response -> Response
    myHelper = error "Your logic here"
person Michael Snoyman    schedule 13.08.2013