class Riksteatern::HTTP
Public Class Methods
get(uri)
click to toggle source
# File lib/riksteatern/http.rb, line 8 def get(uri) response = make_request(uri) if response.code == '401' raise UnauthorizedUser, "Wrong username/password" elsif response.code == '200' response.body else nil end end
Private Class Methods
make_request(uri)
click to toggle source
# File lib/riksteatern/http.rb, line 33 def make_request(uri) setup_http(uri) do |http| response = http.request(prepared_request(uri)) http.finish response end end
prepared_request(uri)
click to toggle source
# File lib/riksteatern/http.rb, line 43 def prepared_request(uri) Net::HTTP::Get.new(uri.request_uri).tap do |r| r.basic_auth URI.decode(uri.user), URI.decode(uri.password) end end
setup_http(uri) { |http| ... }
click to toggle source
# File lib/riksteatern/http.rb, line 22 def setup_http(uri, &block) Net::HTTP.start(uri.host, uri.port, { use_ssl: uri.scheme == 'https' }) do |http| http.read_timeout = 60 http.verify_mode = OpenSSL::SSL::VERIFY_NONE yield(http) end end