Module: URI
- Defined in:
- lib/overwrite.rb
Class Method Summary collapse
-
.accessible?(uri) ⇒ Boolean
Checks if resource exists by making a HEAD-request.
- .ssl?(uri) ⇒ Boolean
- .task?(uri) ⇒ Boolean
- .valid?(uri) ⇒ Boolean
Class Method Details
.accessible?(uri) ⇒ Boolean
Returns checks if resource exists by making a HEAD-request.
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/overwrite.rb', line 126 def self.accessible?(uri) parsed_uri = URI.parse(uri + (OpenTox::RestClientWrapper.subjectid ? "?subjectid=#{CGI.escape OpenTox::RestClientWrapper.subjectid}" : "")) http_code = URI.task?(uri) ? 600 : 400 http = Net::HTTP.new(parsed_uri.host, parsed_uri.port) 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 rescue false end |
.ssl?(uri) ⇒ Boolean
121 122 123 |
# File 'lib/overwrite.rb', line 121 def self.ssl? uri URI.parse(uri).instance_of? URI::HTTPS end |