2012-09-08 67 views
0

我在寫一個服務器,我需要沿着某個請求消息轉發。該消息基本上是POST(或GET)消息,可能包含幾兆字節的文件。此消息被轉發到實際存儲(或檢索)該文件的另一臺服務器。將Haskell的WAI請求轉換爲Network.HTTP.Conduit請求

我正在使用Yesod框架。所以,使用getWaiRequest,我可以得到WAI請求。但是要發起一個新消息傳遞,我需要使用Network.HTTP.Conduit來實現它的懶惰。所以我需要在該模塊中創建一個Request m。但我不知道如何做這個轉換。 WAI的Request只是一種數據類型,但Conduit的類型是Request m類型,所以我不斷收到錯誤消息試圖複製東西。

有人可以告訴我怎麼做?如果沒有,我怎樣才能在沒有使用HTTP Conduit的情況下將WAI請求傳遞給另一臺服務器就好。

謝謝!

回答

1

這兩種請求類型不兼容。您需要手動轉換它們。 WAI不太適合代理。最簡單的選擇是配置您的前端HTTP守護進程以便立即轉發相應的URL,而無需將它們發送到您的Yesod應用程序。

相關問題