diff options
author | rautenberg <rautenberg@in-silico.ch> | 2012-12-10 19:02:01 +0100 |
---|---|---|
committer | rautenberg <rautenberg@in-silico.ch> | 2012-12-10 19:03:26 +0100 |
commit | 29bdb0d3984bd215278b913ad5d5cde06f67a7d0 (patch) | |
tree | d5fb3774e87035f75875553f8230b057d92d7f35 | |
parent | 8f493dac66edefc37a3349ffef5259673bb41acb (diff) |
URI.accessible? for ssl
-rw-r--r-- | lib/overwrite.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb index 574d922..f90e494 100644 --- a/lib/overwrite.rb +++ b/lib/overwrite.rb @@ -54,7 +54,16 @@ module URI Net::HTTP.get_response(URI.parse(uri)) true else - Net::HTTP.get_response(URI.parse(uri + (subjectid ? "?subjectid=#{CGI.escape subjectid}" : ""))).code.to_i < 400 + parsed_uri = URI.parse(uri + (subjectid ? "?subjectid=#{CGI.escape subjectid}" : "")) + unless URI.ssl? uri + Net::HTTP.get_response(parsed_uri).code.to_i < 400 + 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::Get.new(parsed_uri.request_uri) + http.request(request).code.to_i < 400 + end end rescue false |