EDAMTest.rbの警告メッセージを消す

投稿日: / 更新日:

ちょこちょとこ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の検証モードを無効にすることで、当該メッセージを抑制することが出来ます。  本番環境に接続するときは、一回これも元に戻して試した方が良いのだろうか(^_^;)


- スポンサードリンク -