class APIGeoloc::Requester
This is a Net HTTP requester class.
Public Class Methods
new(method, url, opts)
click to toggle source
Class constructor method
# File lib/apigeoloc/requester.rb, line 25 def initialize(method, url, opts) @method = method @uri = URI.parse(url) @opts = opts @http = Net::HTTP.new(@uri.host, @uri.port) @http.use_ssl = @uri.scheme.eql?('https') @http.verify_mode = OpenSSL::SSL::VERIFY_NONE unless @opts['insecure'] end
Public Instance Methods
basic_auth(request)
click to toggle source
Set the authentication data
# File lib/apigeoloc/requester.rb, line 35 def basic_auth(request) unless @opts['user'].nil? || @opts['password'].nil? request.basic_auth(@opts['user'], @opts['password']) end request end
format_header(request)
click to toggle source
Set the headers given as argument
# File lib/apigeoloc/requester.rb, line 43 def format_header(request) unless @opts['header'].nil? @opts['header'].split(',').each do |h| (key, value) = h.split(':') request[key] = value end end request end
request()
click to toggle source
Select request method
# File lib/apigeoloc/requester.rb, line 54 def request case @method.upcase when 'GET' then rest_request_get when 'POST' then rest_request_post end end
rest_request_get()
click to toggle source
GET method
# File lib/apigeoloc/requester.rb, line 62 def rest_request_get req = Net::HTTP::Get.new(@uri.request_uri) req = format_header(req) @http.request(req) end
rest_request_post()
click to toggle source
POST method
# File lib/apigeoloc/requester.rb, line 69 def rest_request_post req = Net::HTTP::Post.new(@uri.request_uri) req = format_header(req) req = basic_auth(req) @http.request(req) end