diff options
-rw-r--r-- | lib/overwrite.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb index 687f2ba..fc050ce 100644 --- a/lib/overwrite.rb +++ b/lib/overwrite.rb @@ -101,18 +101,23 @@ module URI parsed_uri = URI.parse(uri + (subjectid ? "?subjectid=#{CGI.escape subjectid}" : "")) http_code = URI.task?(uri) ? 600 : 400 http = Net::HTTP.new(parsed_uri.host, parsed_uri.port) - if (URI.ssl? uri) == true + unless (URI.ssl? uri) == true + http = Net::HTTP.new(parsed_uri.host, parsed_uri.port) + request = Net::HTTP::Head.new(parsed_uri.request_uri) + http.request(request).code.to_i < http_code + else + http = Net::HTTP.new(parsed_uri.host, parsed_uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE + request = Net::HTTP::Head.new(parsed_uri.request_uri) + http.request(request).code.to_i < http_code end - request = Net::HTTP::Head.new(parsed_uri.request_uri) - http.request(request).code.to_i < http_code rescue false end def self.valid? uri - u = URI::parse(uri) + u = URI.parse(uri) u.scheme!=nil and u.host!=nil rescue URI::InvalidURIError false |