summaryrefslogtreecommitdiff
path: root/lib/overwrite.rb
diff options
context:
space:
mode:
authorrautenberg <rautenberg@in-silico.ch>2012-12-10 19:02:01 +0100
committerrautenberg <rautenberg@in-silico.ch>2012-12-10 19:03:26 +0100
commit29bdb0d3984bd215278b913ad5d5cde06f67a7d0 (patch)
treed5fb3774e87035f75875553f8230b057d92d7f35 /lib/overwrite.rb
parent8f493dac66edefc37a3349ffef5259673bb41acb (diff)
URI.accessible? for ssl
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r--lib/overwrite.rb11
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