Yesod 具有rawRequestBody
以下类型签名:
rawRequestBody :: MonadHandler m => Source m ByteString
http-conduit 具有将源转换为 的功能RequestBody
:
requestBodySource :: Int64 -> Source (ResourceT IO) ByteString -> RequestBody
我希望能够通过将其转换为内部处理程序rawRequestBody
来将其流式传输到 S3 对象,不计算而且我似乎做不到RequestBody
ResourceT IO ~ MonadHandler
MonadHandler m => m -> ResourceT IO
我试过了:
transPipe
- 如果我们从中得到Source Handler ByteString
,rawRequestBody
似乎唯一的方法就是得到ByteString
它consume
,即
transPipe ??? rawRequestBody :: Source (ResourceT IO) ByteString
handlerToIO
- 但是似乎请求正文已被清除,因此不会有任何数据可用
请帮忙 :)