我目前正在使用wai-middleware-static为我的服务器提供自定义页面。但是,我看到我的服务器在每个页面加载时都收到了favicon.ico
等的请求,以及我的每一个Web字体,所以我决定检查响应头上的缓存设置,发现那里没有。
wai-middleware-static返回一个Middleware
值,我认为这是对每个请求运行的中间件提供的函数的回调。有没有办法修改它以在响应头中添加以告诉浏览器缓存结果?
答案 0 :(得分:4)
多个中间件可以与正常的功能组合链接在一起,例如:
middleware1 . middleware2
因此,如果您有一个中间件将缓存设置添加到响应中,则应该设置。可能对您有帮助的基本结构是:
addCacheSettings :: Middleware
addCacheSettings innerApp request = do
innerResponse <- innerApp request
return $ myHelper innerResponse
where
myHelper :: Response -> Response
myHelper = error "Your logic here"