Faraday と http://example.com/?data=1&data=2

getのパラメーターで同じ名前の値を複数渡した時のFaradayの挙動の話。テストとissue読んで実装は見てない。コーナーケースだけどopen socialやoauthの認証周りだとよくある話。Faradayに http://example.com/?data=1&data=2 をリクエストさせようとするとhttp://example.com/?data[]=1&data[]=2 になる。

具体的には google-api-ruby-client のテストが一つそこで落ちてて、原因探しに行っ
たらFaradayのissueでなおかつ議論して放置されてる。

Faraday handles repeated query parameters incorrectly ?? Issue #182 ?? technoweenie/faraday https://github.com/technoweenie/faraday/issues/182
Show warning when :bracketize_params is set incorrectly. ?? Issue #5 ?? google/google-api-ruby-client https://github.com/google/google-api-ruby-client/issues/5

普段アプリに組み込んだりして使うぶんにはデフォルトbracket動作が便利 オブジェクトにマッピングしやすい なんだけど、option指定したらそうじゃない動作してほしくて、そのオプションがちゃんと動いてない。で止まってる。
ちょろちょろっと直すには重い。メジャーライブラリの動作に未実装なところがあった時に、しかし自分たち側のライブラリのテストpendingにするでもなくredのままにしとく度胸?信念?は強いなあ。

Faradayについてはこちら:
Ruby の HTTP クライアントライブラリ Faraday が便利そう Gist https://gist.github.com/2775321

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中