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
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/overwrite.rb', line 183 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
177 178 179 |
# File 'lib/overwrite.rb', line 177 def self.ssl? uri URI.parse(uri).instance_of? URI::HTTPS end |
.task?(uri) ⇒ Boolean
Is the URI a task URI
214 215 216 |
# File 'lib/overwrite.rb', line 214 def self.task? uri uri =~ /task/ and URI.valid? uri end |
.valid?(uri) ⇒ TrueClass, FalseClass
Is the URI valid
205 206 207 208 209 210 |
# File 'lib/overwrite.rb', line 205 def self.valid? uri u = Addressable::URI.parse(uri) u.scheme!=nil and u.host!=nil rescue URI::InvalidURIError false end |