1

カスタム トランスポート プロトコルを介して HTTP 要求ストリームをトンネリングしたいと考えています。基礎となるリクエスト ストリームにアクセスしたり、シリアル化されたリクエストとレスポンスをフィルタリングしたりできる Clojure またはフォールバックとしての Java HTTP クライアントはありますか?

Apache HttpComponents をラップしていることは知ってclj-httpいますが、HC の内部に多くのフックを提供していないようです。また、HC 自体を調べましたが、ファクトリ、インターフェイス、およびマネージャーのジャングルをナビゲートするのに苦労しています。

4

2 に答える 2

0

リクエスト本文をストリームとして持つことができます。そのためには、:bodyを実装する任意のオブジェクトに値を設定する必要がありますInputStream詳細については、 https://github.com/dakrone/clj-http/blob/master/src/clj_http/client.cljで関数wrap-input-coercionを確認してください。

于 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 に答える