作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前从 Network.Wai.Middleware.RequestLogger 运行中间件 logStdoutDev,但它只记录路径和 Accept header (也可能是其他 header )。我也想查看 POST 和 PUT 请求的正文。这个主体恰好是 json,所以只需将其打印到标准输出就可以了。
我已经搜索了一个 WAI 中间件,它记录了所有内容但没有找到任何内容。我对 WAI 内部的了解还不够,无法编写一些提取 POST 正文然后将其放回自己的东西,所以我希望现在能避免这种学习曲线。
最佳答案
韦 Middleware
只是对 Application
的转换:
type Middleware = Application -> Application
Application
只是一个处理程序:
type Application = Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
-- note that this is equivalent to Application -> Application
logAllMiddleware :: Application -> Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
logAllMiddleware app req respond = do
print . unpack . requestBody req
app req respond
关于haskell - 如何在 WAI/scotty 中记录整个 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16337989/
我是一名优秀的程序员,十分优秀!