Module: Utilities::Net

Defined in:
lib/utilities/net.rb

Overview

Special general routines for Net-specific itams

Class Method Summary (collapse)

Class Method Details

+ (Object) ask_about(text)

Returns URI site responce to the request

Parameters:

  • text (String)

Returns:

  • (Object)

    URI site responce to the request



34
35
36
37
38
39
40
# File 'lib/utilities/net.rb', line 34

def self.ask_about(text)
  uri  = URI.parse(text)
  http = ::Net::HTTP.start(uri.host)
  resp = http.head(uri.path)
  http.finish
  resp
end

+ (Boolean) resolves?(text)

Returns true if URI site responds positivly to the request

Parameters:

  • text (String)

Returns:

  • (Boolean)

    true if URI site responds positivly to the request



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/utilities/net.rb', line 7

def self.resolves?(text)
  responded = false
  if text =~ /^http(s)*:\/\/(.+)/ # http:// or  https://
    parsed = true
    uri    = URI.parse(text)
    if uri.host.nil?
      parsed = false
    end
    if parsed
      http = ::Net::HTTP.start(uri.host)
      resp = http.head(uri.path)
      case resp.code
        # when '200', '302', '303', '308'
        when /^[23]\d\d$/
          responded = true
        when /^[145]\d\d$/
          responded = false
      end
      # resp.each { |k, v| puts "#{k}: #{v}" }
      http.finish
    end
  end
  responded
end