class Hawkei::Request
Hawkei
Request¶ ↑
Build request
Attributes
http[R]
params[R]
request[R]
Public Class Methods
delete(params = {})
click to toggle source
# File lib/hawkei/request.rb, line 37 def delete(params = {}) new(params).delete end
execute(params = {})
click to toggle source
# File lib/hawkei/request.rb, line 9 def execute(params = {}) klass = new(params) if params[:method] == :post klass.post elsif params[:method] == :put klass.put elsif params[:method] == :delete klass.delete elsif params[:method] == :get klass.get else raise Hawkei::UnknownRequestMethod, "#{params[:method]} haven't been implemented" end end
get(params = {})
click to toggle source
# File lib/hawkei/request.rb, line 33 def get(params = {}) new(params).get end
new(params = {})
click to toggle source
# File lib/hawkei/request.rb, line 44 def initialize(params = {}) @params = params @http = Net::HTTP.new(uri.host, uri.port, uri_proxy.host, uri_proxy.port) setup_ssl if params[:use_ssl] end
post(params = {})
click to toggle source
# File lib/hawkei/request.rb, line 25 def post(params = {}) new(params).post end
put(params = {})
click to toggle source
# File lib/hawkei/request.rb, line 29 def put(params = {}) new(params).put end
Public Instance Methods
delete()
click to toggle source
# File lib/hawkei/request.rb, line 77 def delete @request = Net::HTTP::Delete.new(uri.path) set_header request.body = params[:payload] handle_request end
get()
click to toggle source
# File lib/hawkei/request.rb, line 69 def get @request = Net::HTTP::Get.new(uri) set_header handle_request end
post()
click to toggle source
# File lib/hawkei/request.rb, line 51 def post @request = Net::HTTP::Post.new(uri.path) set_header request.body = params[:payload] handle_request end
put()
click to toggle source
# File lib/hawkei/request.rb, line 60 def put @request = Net::HTTP::Put.new(uri.path) set_header request.body = params[:payload] handle_request end
Private Instance Methods
handle_request()
click to toggle source
# File lib/hawkei/request.rb, line 88 def handle_request response = http.request(request) case [response.code_type] when [Net::HTTPOK], [Net::HTTPCreated], [Net::HTTPAccepted] response when [Net::HTTPUnauthorized] raise RequestError.new(response, message: 'Unauthorized, please check your api key') when [Net::HTTPNotFound] raise RequestError.new(response, message: 'Requested Resource not found') when [Net::HTTPRequestTimeOut] raise RequestError.new(response, message: 'Server timeout, verify status of the server') when [Net::HTTPInternalServerError] raise RequestError.new(response, message: 'Server Error, please check with Hawkei') else raise RequestError, response end end
set_header()
click to toggle source
# File lib/hawkei/request.rb, line 107 def set_header params[:headers].each do |(type, value)| formated_type = type.to_s.split(/_/).map(&:capitalize).join('-') request[formated_type] = value end end
setup_ssl()
click to toggle source
# File lib/hawkei/request.rb, line 114 def setup_ssl http.use_ssl = true http.ca_file = params[:ca_file] http.verify_mode = params[:verify_mode] end
uri()
click to toggle source
# File lib/hawkei/request.rb, line 120 def uri @uri ||= URI(params[:url]) end
uri_proxy()
click to toggle source
# File lib/hawkei/request.rb, line 124 def uri_proxy @uri_proxy ||= if params[:proxy] URI(params[:proxy]) else OpenStruct.new end end