将 Haskell 的 WAI 请求转换为 Network.HTTP.Conduit 请求



我正在编写一个服务器,需要转发某个请求消息。这个消息基本上是POST(或GET)消息,可能包含几兆字节的文件。此消息被转发到实际存储(或检索)文件的另一个服务器。

我使用的是Yesod框架。因此,使用getWaiRequest,我可以获得WAI请求。但是,为了启动一个新的消息来传递,我需要使用Network.HTTP.Conduit来解决它的懒惰问题。所以我需要在该模块中制作一个Request m。但我不知道如何转换。WAI的Request只是一种数据类型,但Conduct的是Request m类型,所以我不断收到错误消息,试图复制内容。

有人能告诉我我是怎么做的吗?如果没有,那么如何在不使用HTTP导管的情况下将WAI请求传递给另一台服务器也同样好。

谢谢!

这两种请求类型不兼容。您需要手动在它们之间进行转换。WAI并不真正适合代理。最简单的选择是配置您的前端HTTP守护程序,以便立即转发相应的URL,而无需将其发送到Yesod应用程序。

相关内容

  • 没有找到相关文章

最新更新