問題タブ [http-conduit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
723 参照

http - Network.HTTP.Conduit の Haskell simpleHTTP が get リクエストで遅い

私のhaskellコードでは、次のようにインポートNetwork.HTTP.Conduitしました

私のメイン関数では、次をGET使用して簡単なリクエストを行いますsimpleHTTP

100 件の API リクエストを完了するのに 6 分 42 秒かかりました

一方、ruby別の方法では、100 回の API 呼び出しに 153 秒しかかかりません。Net::HTTP.get(URI.parse("https://github.com/trending?l=ruby"))

Haskell コードで何か間違ったことをしていますか? の高性能で効率的な代替手段はsimpleHTTP何ですか?

0 投票する
1 に答える
108 参照

haskell - http コンジットの ResumableSource で「無限型を構築できません」というエラーが発生する

ResourceT モナドに正しく存在しながら、URL に接続するためのいくつかのパラメーターを指定して Source を作成する関数を作成しようとしています。私は次のことを試みています:

機能しません。コンパイラから「無限型を構築できません」というエラーが表示されます。私はreturn (httpsource,finalizer)(またはresponseBody全体だけ)後でそれを使用できますが、奇妙に思えます。このコードを記述する適切な方法と、無限型エラーが発生する理由を教えてください。

型シグネチャがないと、次のエラーが発生します。

署名を追加すると、(そうあるべきだと思います):

エラーが発生します:

できないことをしているのかもしれませんが、どこに問題があるのか​​ よくわかりません。

0 投票する
1 に答える
363 参照

haskell - Scotty を使用したネットワーク I/O のスループットが予想外に低い

Scotty のベンチマークを実行して、ネットワーク I/O の効率と全体的なスループットをテストしようとしました。

このために、Haskell で記述された 2 つのローカル サーバーをセットアップしました。何もせず、単に API として機能するもの。

同じコードは

このサーバーを呼び出して応答を返す別のサーバーを作成しました。

これらの両方のサーバーを実行して、wrkベンチマークを実行したところ、非常に高いスループットが得られました。

これは、Phoenix などの他の Web サーバーよりも大幅に高かったのですが、応答の大部分がファイル記述子の枯渇により発生した 500 エラーであったため、これは何の意味もないことに気付きました。

かなり低い制限を確認します。

これらの制限を

もう一度 wrk を実行したところ、明らかに十分なスループットが大幅に低下していました。

500 エラーの量は減少しましたが、完全にはなくなりませんでした。Ginと Phoenix のベンチマークScottyを行ったところ、500 の応答がない場合よりもはるかに優れていました。

欠けているパズルのピースは何ですか? デバッグに失敗している問題があると思われます。

http-conduitはこれらのエラーと多くの関係があり、http-clientライブラリはフードの下でそれを使用しており、これは とは何の関係もないことを理解していScottyます。

0 投票する
1 に答える
561 参照

haskell - Haskell Network.HTTP.Conduit 例外: InvalidProxyEnvironmentVariable "http_proxy"

ここにある HTTP.Conduit のドキュメントの簡単な例を使用しています。

私のシステムには、環境変数で設定されhttp_proxy、フォームを持つプロキシが必要http://user:pass@proxy:port/です。

Http.Conduit により、次のエラーで例外が発生します。

(プロキシの詳細を変更しました..)

どうした?Http.Conduit は認証をサポートしていませんか?