ウェブサービスのクライアントや、Net::Groonga::HTTP のようなミドルウェアのクライアント、いろいろありますが、HTTP サーバーへの簡単なアクセスを提供するライブラリをつくるときに僕が気をつけていることをここに記す。みんな気をつけたほうがいいです。
変更できないライブラリとか利用価値がないです。。 タイムアウトの設定もかえられないライブラリとか、たまにありますが、ちょっとひどいですね。
HTTP::Response なり Furl::Response なりをそのままとれるようにすべき。
たとえば、$client->last_response
のようなメソッドを用意し、最後のレスポンスオブジェクトをとれるようにするとか。 こういった機能がないと、エラーがおきたときに直でライブラリの中をみないといけなくなる。
実際、直でソースいじってデバッグしないといけないライブラリのなんとおおいことか。