[Groonga-commit] ranguba/chupa-text at 43536c2 [master] Handle download error

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Jul 11 11:03:24 JST 2017


Kouhei Sutou	2017-07-11 11:03:24 +0900 (Tue, 11 Jul 2017)

  New Revision: 43536c2a5d2fa175e0222f5c984354ac84a6027d
  https://github.com/ranguba/chupa-text/commit/43536c2a5d2fa175e0222f5c984354ac84a6027d

  Message:
    Handle download error

  Modified files:
    lib/chupa-text/error.rb
    lib/chupa-text/input-data.rb

  Modified: lib/chupa-text/error.rb (+10 -0)
===================================================================
--- lib/chupa-text/error.rb    2017-07-11 00:04:47 +0900 (2644343)
+++ lib/chupa-text/error.rb    2017-07-11 11:03:24 +0900 (cb7de87)
@@ -18,6 +18,16 @@ module ChupaText
   class Error < StandardError
   end
 
+  class DownloadError < Error
+    attr_reader :uri
+    attr_reader :reason
+    def initialize(uri, reason)
+      @uri = uri
+      @reason = reason
+      super("Download error: <#{uri}>: #{reason}")
+    end
+  end
+
   class EncryptedError < Error
     attr_reader :data
     def initialize(data)

  Modified: lib/chupa-text/input-data.rb (+7 -3)
===================================================================
--- lib/chupa-text/input-data.rb    2017-07-11 00:04:47 +0900 (7a225d0)
+++ lib/chupa-text/input-data.rb    2017-07-11 11:03:24 +0900 (5c35369)
@@ -47,9 +47,13 @@ module ChupaText
     def download
       path =****@uri*****
       path += "index.html" if path.end_with?("/")
-      @uri.open("rb") do |input|
-        self.mime_type = input.content_type.split(/;/).first
-        VirtualContent.new(input, path)
+      begin
+        @uri.open("rb") do |input|
+          self.mime_type = input.content_type.split(/;/).first
+          VirtualContent.new(input, path)
+        end
+      rescue OpenURI::HTTPError => error
+        raise DownloadError.new(@uri, error.message.strip)
       end
     end
   end
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index