Предположим, у меня есть набор статических файлов, но они без расширения. Я хочу установить заголовок «Content-Type: image / png» для всех них , которые служат от «some /» (1-е правило). Как это сделать в этом коде?
import Network.Wai.Middleware.Static
import Web.Scotty
routes :: Scotty M ()
routes = do
...
middleware $ staticPolicy $
contains "some/" >-> (addBase "/something/files/")
<|>
addBase "/elsewhere/"
Я пробовал это:
setContentType :: Middleware
setContentType = modifyResponse $ mapResponseHeaders
(("Content-Type", "image/png"):)
reqInfixedWith :: Text -> Request -> Bool
reqInfixedWith str req =
isInfixOf str $ convertString $ rawQueryString req
...
-- in routes
middleware $ ifRequest (reqInfixedWith "some/") setContentType
и проверяется с помощью Debug.Trace
пути запроса, строки запроса - все они пусты, а фактический запрос "...: 8080 / some / somefile".
Как правильно это сделать?