OSDN Git Service

Add retry on file upload.
[osdn-codes/osdn-cli.git] / lib / osdn / cli / runner.rb
index 3b7934f..874b01c 100644 (file)
@@ -7,10 +7,17 @@ module OSDN
     class Runner
       def initialize
         @logger = Logger.new(STDERR)
-        @logger.level = Logger::WARN
+        @logger.level = Logger::INFO
         @logger.formatter = proc { |severity, time, progname, msg|
           "[%s] %s\n" % [severity, msg]
         }
+        OSDNClient.configure do |config|
+          ENV['OSDN_API_OVERRIDE_HOST'] and
+            config.host = ENV['OSDN_API_OVERRIDE_HOST']
+          ENV['OSDN_API_SKIP_SSL_VERIFY'].to_s =~ /^(1|t(rue)?|y(es)?)$/i and
+            config.verify_ssl = false
+            config.verify_ssl_host = false
+        end
       end
       attr_reader :logger
       
@@ -65,12 +72,6 @@ module OSDN
           exit 1
         end
 
-        OSDNClient.configure do |config|
-          # TODO: remove
-          config.verify_ssl = false
-          config.logger.level = logger.level
-        end
-
         if command_name == 'help'
           help
           exit
@@ -88,10 +89,10 @@ module OSDN
             elsif err["error_description"]
               logger.fatal err["error_description"]
             else
-              logger.fatal "Command failed: #{e.inspect}"
+              logger.fatal "Command failed by ApiError: #{e.response_body}"
             end
           rescue
-            logger.fatal "Command failed: #{e.inspect}"
+            logger.fatal "Command failed: #{e.inspect} #{e.message} (#{e.code}): #{e.response_body} #{e.response_headers}"
           end
         end
       end