Module: URI
- Defined in:
- lib/overwrite.rb
Class Method Summary collapse
-
.accessible?(uri) ⇒ TrueClass, FalseClass
Check if a http resource exists by making a HEAD-request.
-
.ssl?(uri) ⇒ TrueClass, FalseClass
Is it a https connection.
-
.task?(uri) ⇒ Boolean
Is the URI a task URI.
-
.valid?(uri) ⇒ TrueClass, FalseClass
Is the URI valid.
Class Method Details
.accessible?(uri) ⇒ TrueClass, FalseClass
Check if a http resource exists by making a HEAD-request
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/overwrite.rb', line 177 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) ⇒ TrueClass, FalseClass
Is it a https connection
171 172 173 |
# File 'lib/overwrite.rb', line 171 def self.ssl? uri URI.parse(uri).instance_of? URI::HTTPS end |
.task?(uri) ⇒ Boolean
Is the URI a task URI
208 209 210 |
# File 'lib/overwrite.rb', line 208 def self.task? uri uri =~ /task/ and URI.valid? uri end |
.valid?(uri) ⇒ TrueClass, FalseClass
Is the URI valid
199 200 201 202 203 204 |
# File 'lib/overwrite.rb', line 199 def self.valid? uri u = URI.parse(uri) u.scheme!=nil and u.host!=nil rescue URI::InvalidURIError false end |