如何构建Network.HTTP.Conduit.Request对象?

And*_*yuk 2 haskell http http-conduit

尝试Request使用Network.HTTP.Conduit包构建一个.说明是:

不公开此数据类型的构造函数.相反,您应该使用def方法来检索默认实例,或者使用parseUrl 从URL构造,然后使用下面的记录进行修改......

我不知道这是什么意思.如何"修改"不可变的Request对象; 此外,"下面"的功能都没有返回一个Request对象!

这是我得到的:

main = do
    let req = def :: String
    putStrLn "What now? How do I make it a POST?"
Run Code Online (Sandbox Code Playgroud)

虽然我不确定为什么我String上面也用过.

任何帮助赞赏.

ham*_*mar 5

从文档中可以清楚地看出,但"下面的函数"实际上是记录标签,因此您可以使用记录更新语法来构造所需的请求.当然,"修改"在这里意味着基于默认请求创建新请求,而不是实际的破坏性更新.

换句话说,这样的事情:

let req = def { method = methodPost, ... }
Run Code Online (Sandbox Code Playgroud)