【问题标题】:Converting Haskell's WAI Request to Network.HTTP.Conduit Request将 Haskell 的 WAI 请求转换为 Network.HTTP.Conduit 请求
【发布时间】:2012-09-08 23:27:37
【问题描述】:

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

我正在使用 Yesod 框架。因此,使用getWaiRequest,我可以获得 WAI 请求。但是要发起一条新消息传递,我需要使用 Network.HTTP.Conduit 来解决它的惰性。所以我需要在那个模块中创建一个Request m。但我不知道如何进行这种转换。 WAI 的 Request 只是一种数据类型,但 Conduit 是 Request m 类型,所以我不断收到错误消息,试图复制内容。

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

谢谢!

【问题讨论】:

    标签: haskell request yesod conduit http-conduit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 2018-04-16
      • 1970-01-01
      • 2021-02-06
      • 2017-01-13
      • 1970-01-01
      相关资源
      最近更新 更多