Class: MeteoPl::Net::Http

Inherits:
Object
  • Object
show all
Defined in:
lib/meteo_pl/net/http.rb

Instance Method Summary collapse

Constructor Details

#initialize(timeout) ⇒ Http

Returns a new instance of Http.



6
7
8
# File 'lib/meteo_pl/net/http.rb', line 6

def initialize(timeout)
  @timeout = timeout
end

Instance Method Details

#fetch(uri) ⇒ Object

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
17
18
19
# File 'lib/meteo_pl/net/http.rb', line 10

def fetch(uri)
  raise ArgumentError unless block_given?

  ::Net::HTTP.start(
    uri.host, uri.port,
    use_ssl: uri.scheme == 'https',
    open_timeout: @timeout,
    read_tieout: @timeout
  ) { |http| yield http.request(::Net::HTTP::Get.new(uri)) }
end