ただのにっき
2012-08-30(木) [長年日記]
■ 今日もプチプチとgemのproxy対応
proxyの内側でrubyを使ってるのは世界中でおれだけなんじゃないかと感じつつある今日このごろいかがおすごしでしょうか。今日はTwitter認証を使っているツールを動かそうとしたらホストが見つからない的なエラーを吐いたので「またか……」と思いつつ対応しました。
認証の実装に使っているのは例によってOmniAuthなのだけど、Twitterの実装はOmniAuth Twitter。この中でRuby OAuthを使っていて、HTTPでの通信をしているのはこれ。
OAuthの方はちゃんとproxyを意識した作りになっていて、外部からオプションで:proxyを与えればちゃんをそれを使うようになっている。ので、OmniAuth Twitterの方で環境変数を見てオプションを変えるようにしたものをpull requestして、これはすぐに取り込まれた。めでたしめでたし。
……とはいえ、数あるOAuth利用者がいちいち同じ対応をしなきゃいけないのは良くないよなぁ。できるだけ上流、この場合はOAuthの方で対応した方がいいかなー。さらにさかのぼってNet::HTTPで、というのは行き過ぎだとは思うが、その境界はどこにあるのか。悩ましい。