我希望能够使用请求正文的内容作为缓存键的一部分。
我当前的代码如下所示:
caching app req respond =
-- Request Body is consumed here
cacheKey <- strictRequestBody req
-- the req object is no more usable as body was consumed
maybe (app req (addToCacheAndRespond cacheKey))
(sendResponse . responseFromCachedValue)
(lookup cacheKey cacheContainer)
我在这里看不到任何解决方案。如何从 cacheKey 和 req 对象复制请求或生成另一个请求?
或者事件更好还有其他更好的解决方案吗?
作为奖励点,有人可以指出我将 Wai Application 的类型从更改为的Request -> IO Response
理由Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
。