問題タブ [faraday]
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.
ruby-on-rails - Ruby の壊れた URI.parse を回避し、リダイレクトに従ってください
Rubyを使用して、フォローしたいリダイレクトを返すことがあるWebページをスクレイピングしています。それを行う Ruby gem はたくさんありますが、問題があります。
RubyURI.parse
は、技術的に無効であるが次のようなブラウザで動作するいくつかの URI で爆発します。"http://www.google.com/?q=<>"
私が試したすべてのHTTPクライアントライブラリ(HttParty、Faraday、RestClient)は、リダイレクトでそのようなURIに遭遇すると壊れます(これはruby 1.9.3にあります)
残りのクライアント:
ファラデー:
httpパーティ:
オープン URI:
これを機能させるにはどうすればよいですか?
ruby - Faraday と Syncrony を使用してエラーをレスキューする
これは私の最初の Ruby アプリであり、Faraday と em_syncrony アダプターを使用してエラーを解決するのに問題があります。私のコードは次のようになります。
インターネットから切断しても、エラーを救うことはできません。応答ステータスが「0」であることはわかりますが、コードはエラーを発生させず、レスキュー ブロックに入りません。
もう 1 つの問題は、タイムアウトにどのような値を割り当てても、単にタイムアウトしないことです。ファラデー タイムアウトに関するすべてのコードを試しましたが、成功しませんでした。
これについて何か助けはありますか?? 前もって感謝します!!
ruby - Ruby google-api-client の HTTP をデバッグするにはどうすればよいですか
google-api-client を使用して、Google ドライブと統合しようとしています。たくさんのことが起こっているので、ネットワーク上で何が起こっているか (http レベル) を確認できるようにしたいと思います。クライアントは HTTP 接続にファラデーを使用しているようです。デバッグのためにファラデーからワイヤダンプを取得するにはどうすればよいですか?
ruby - ファラデー-FreebaseAPIへの複数のGETparamリクエスト
FreebaseAPIからトピック情報を取得しようとして立ち往生しています。とにかく、これは主にRubyFaradayの質問です。
だから私は次のパスでリクエストします: https ://www.googleapis.com/freebase/v1/topic/m/02676m4?limit = 20&filter = / film / film_series / films_in_series&filter = / common / topic / article
&filterが2つあることに注意してください。これは私のWebブラウザを使用して問題なく動作します。ただし、Rubyで次のいずれかを実行する場合:
また...
また...
その後、フィルターはAPIによって無視されます。私は自分のトピックに関するすべての情報で大きな反応を得ています。
フィルタを使用せずにクエリを実行すると、結果を複製できます: https ://www.googleapis.com/freebase/v1/topic/m/02676m4?limit=20
質問: ファラデーからこの問題が発生する理由は誰でも思い付くことができますが、ブラウザーから直接アクセスする場合は考えられません。
追加のヒント:ファラデーリクエストでフィルターを1つ だけ使用する場合は、問題なく機能します。しかし、私は本当に複数のフィルターを使用する必要があります。
FreebaseトピックAPI: http ://wiki.freebase.com/wiki/Topic_API
ありがとう!
ruby-on-rails - モデルで利用可能なRailsセッショントークン
APIと通信するデータベースのないRailsアプリがあります。
認証のために、ユーザーのクレデンシャルをAPIに送信し、成功した場合はセッショントークンを受け取ります。その後、私が行うすべてのAPIリクエストには、そのトークンが含まれている必要があります。
api_request.rb:
my_session.rb:
呼び出しごとにセッショントークンをApiRequestモデルで使用できるようにするにはどうすればよいですか?
rspec - Faraday と Rspec によるスタブ
次のようなモデルがあります。
そして、次のようなテスト:
私がテストしているのはファラデーで POST を作成しているだけなので、このテストは私を満足させるものではありませんが、URL、ヘッダー、または本文を実際にテストすることはできません。ブロック。Faraday テスト アダプターを使用しようとしましたが、それを使用して URL、ヘッダー、または本文をテストする方法もわかりません。
Rspec スタブを記述するより良い方法はありますか? それとも、これまで理解できなかった方法でファラデー テスト アダプターを使用できますか?
ありがとう!
ruby-on-rails - ファラデーとイベント マシンの同期に基づく高性能 http クライアントを有効にするにはどうすればよいですか?
Faraday をリクエスト クライアントとして使用し、次のように EM 同期で使用する事前定義されたアダプターを持つ ROR プロジェクトをリファクタリングしています。
config/application.rb で FiberPool を有効にできることはわかっていますが、EM.synchrony を有効にするにはどうすればよいですか?
私は EM の基本的な知識を持つ Ruby の初心者ですが、次の意味についてはまだよくわかりません。
したがって、説明とサンプルは本当にありがたいです。
ruby - Ruby のファラデー - 同じパラメーターを複数回含める
私は、異なるフィルタリング基準をカスケードするために、同じパラメーターの名前を複数回送信することを強制する API に反対しています。したがって、API GET 呼び出しのサンプルは次のようになります。
私はRESTアダプターにFaradayを使用しています.FaradayはURLパラメーターをハッシュとして受け取ります(したがって、一意のキーがあります)。これは、次のようなことはできないことを意味します。
リクエストが送信される直前にURLをハッキングしようとしました:
これは機能しませんでした - 応答をデバッグすると、API サーバーに送信された実際の URL は次のようになります。
API を変更する方法はありません。ファラデーで作業を続け、これをエレガントな方法で解決する方法はありますか? ありがとう。
faraday - Faraday :: Error :: ConnectionFailed例外をFaradayでキャッチする方法は?
ネットワークが利用できないときに(つまり、wifi環境で、またはオフラインで作業しているときに)ファラデーからHTTPリクエストを実行する場合、デフォルトでこの例外をキャッチするものがあると便利です。
ファラデーにデフォルトでこの問題をキャッチさせるにはどうすればよいでしょうか?
ruby-on-rails - ファラデーでレールオブザーバーで遅延ジョブを使用する方法
私が構築しているアプリでは、trumpia を使用して、SMS と電子メール メッセージをスケジュールしてユーザーに送信しています。彼らがサインアップするとき、私はオブザーバーを使用して trumpia への呼び出しをトリガーし、ファラデーを使用して実際に trumpia API に接続しています。私の問題は、これらの呼び出しに時間がかかることであり、バックグラウンドで処理する必要があります。また、すぐに実行する必要があるコマンドのセットが小さいため、after_create 全体を遅らせることはできません。
これを達成するためにdelayed_jobを使用することを考えていますが、私のコードのように複雑なものでそれを行う方法がわかりません. これどうやってするの?ファラデー呼び出しをメソッドに入れる必要があると思いますが、方法がわかりません。 - ありがとう
これが私のオブザーバーです。不要なコードは省きました。
Rails 3.2.8 を使用しています。しかし、私はまだ遅延ジョブをインストールしておらず、別の queing gem を受け入れています。