1

我想通过自定义传输协议传输 HTTP 请求流。是否有任何 Clojure 或作为后备的 Java HTTP 客户端可以让我访问底层请求流或让我过滤序列化的请求和响应?

我知道clj-http包装了 Apache HttpComponents,但似乎没有为 HC 内部提供很多挂钩,而且我研究了 HC 本身,但很难在工厂、接口和管理器的丛林中导航。

4

2 回答 2

0

您可以将请求正文作为流。为此,您需要将:body值设置为任何实现InputStream. wrap-input-coercionhttps://github.com/dakrone/clj-http/blob/master/src/clj_http/client.clj检查函数以获取更多详细信息。

于 2012-06-05T04:14:41.167 回答
0

clj-http包括读取和写入输入流的能力

(client/get "http://site.com/bigrequest.html" {:as :stream})

(client/post "http://site.com/resources"
         {:body (clojure.java.io/input-stream "/tmp/foo") :length 1000})

然后,您可以将此流包装在您选择的传输中。

于 2012-06-05T01:14:10.103 回答