ちょこちょとこEDAMTest.rbをいじくって遊んでいる訳ですが、実行時にエラーメッセージ的な物が表示されてうっとおしい事この上ないので、その辺りのメッセージを消す様にしてみます。
具体的にはこの二つ
- “Unable to load thrift_native extension. Defaulting to pure Ruby libraries.”
- “warning: peer certificate won’t be verified in this SSL session”
Unable to load…
このメッセージは、実際にはEvernote APIとして配置している /usr/lib/site_ruby/thrift/thrift_native.rb で表示しています。
表示されている通り、thrift_native extension をインストールしてあげれば消えるはずなのですが…
うちの環境では、gem install thrift でインストールできるthrift関連の拡張だと、そもそも上手く動かなくなってしまったので、インストールはひとまず諦めました(^_^;)
※ファイルの配置は環境構築時に置いた場所になります。
その為、実際にエラーを出している thrift_native.rb を変更してしまいます(^_^;)
--- thrift_native.rb.orig 2011-11-24 21:54:22.000000000 +0900 +++ thrift_native.rb 2011-11-24 21:54:33.000000000 +0900 @@ -20,5 +20,5 @@ begin require "thrift_native" rescue LoadError - puts "Unable to load thrift_native extension. Defaulting to pure Ruby libraries." + #puts "Unable to load thrift_native extension. Defaulting to pure Ruby libraries." end
LoadErrorを拾って正常処理してるだけなので、思い切ってエラーメッセージをコメントアウトして表示しないように(^_^;)
本来は thrift_native extension が使えるのが一番なんですけどね…
そこまで頑張るモチベーションが無いのでw
peer certificate…
こちらのエラーメッセージを元にGoogle 検索してみると…
Net::HTTPモジュールで表示しているらしく、SSL周りの認証を無効にすれば止められるらしい、と。
※Sandbox環境に接続してるから、厳密な証明書が無いのだろうか?
ひとまずSandbox環境であることはわかっているので、これもエラーメッセージを抑制する為に /usr/lib/site_ruby/thrift/transport/http_client_transport.rb を編集します。
--- http_client_transport.rb.orig 2011-11-24 21:51:03.000000000 +0900 +++ http_client_transport.rb 2011-11-24 21:52:46.000000000 +0900 @@ -43,6 +43,7 @@ def flush http = Net::HTTP.new @url.host, @url.port http.use_ssl = @url.scheme == "https" + http.verify_mode = OpenSSL::SSL::VERIFY_NONE resp, data = http.post(@url.request_uri, @outbuf, @headers) @inbuf = StringIO.new data @outbuf = ""
SSLの検証モードを無効にすることで、当該メッセージを抑制することが出来ます。 本番環境に接続するときは、一回これも元に戻して試した方が良いのだろうか(^_^;)