class Digicert::Request
Attributes
attributes[R]
Public Class Methods
new(http_method, end_point, params: {}, **attributes)
click to toggle source
# File lib/digicert/request.rb, line 11 def initialize(http_method, end_point, params: {}, **attributes) @end_point = end_point @http_method = http_method @attributes = attributes @query_params = params end
Public Instance Methods
parse()
click to toggle source
# File lib/digicert/request.rb, line 22 def parse Digicert::Response.new(run).parse end
run()
click to toggle source
# File lib/digicert/request.rb, line 18 def run valid_response || raise_response_error end
Private Instance Methods
build_query_params()
click to toggle source
# File lib/digicert/request.rb, line 91 def build_query_params if @query_params Digicert::Util.to_query(@query_params) end end
constanize_net_http_class()
click to toggle source
# File lib/digicert/request.rb, line 74 def constanize_net_http_class Object.const_get("Net::HTTP::#{@http_method.capitalize}") end
debug_mode_on?()
click to toggle source
# File lib/digicert/request.rb, line 114 def debug_mode_on? @debug_mode ||= Digicert.configuration.debug_mode? end
digicert_api_path_with_base()
click to toggle source
# File lib/digicert/request.rb, line 97 def digicert_api_path_with_base ["", Digicert.configuration.base_path, @end_point].join("/").squeeze("/") end
error_message()
click to toggle source
# File lib/digicert/request.rb, line 105 def error_message JSON(response.body)["errors"] rescue response.inspect end
http_request()
click to toggle source
# File lib/digicert/request.rb, line 51 def http_request @http_request ||= constanize_net_http_class.new(uri).tap do |request| set_request_body!(request) set_request_headers!(request) end end
log_details_in_debug_mode()
click to toggle source
# File lib/digicert/request.rb, line 118 def log_details_in_debug_mode if debug_mode_on? require "digicert/debugger" Digicert::Debugger.new(request: http_request, response: response).debug end end
net_http_options()
click to toggle source
# File lib/digicert/request.rb, line 62 def net_http_options [uri.host, uri.port, use_ssl: true] end
raise_response_error()
click to toggle source
# File lib/digicert/request.rb, line 58 def raise_response_error raise response_error, error_message end
response()
click to toggle source
# File lib/digicert/request.rb, line 39 def response @response ||= send_http_request rescue *server_errors => error @response ||= error end
response_error()
click to toggle source
# File lib/digicert/request.rb, line 101 def response_error Digicert::Errors.error_klass_for(response) end
send_http_request()
click to toggle source
# File lib/digicert/request.rb, line 45 def send_http_request Net::HTTP.start(*net_http_options) do |http| http.request(http_request) end end
server_errors()
click to toggle source
# File lib/digicert/request.rb, line 110 def server_errors Digicert::Errors.server_errors end
set_request_body!(request)
click to toggle source
# File lib/digicert/request.rb, line 78 def set_request_body!(request) unless attributes.empty? request.body = attributes.to_json end end
set_request_headers!(request)
click to toggle source
# File lib/digicert/request.rb, line 84 def set_request_headers!(request) request.initialize_http_header( "Content-Type" => "application/json", "X-DC-DEVKEY" => Digicert.configuration.api_key, ) end
uri()
click to toggle source
# File lib/digicert/request.rb, line 66 def uri URI::HTTPS.build( host: Digicert.configuration.api_host, path: digicert_api_path_with_base, query: build_query_params, ) end
valid_response()
click to toggle source
# File lib/digicert/request.rb, line 30 def valid_response log_details_in_debug_mode return response if valid_response? end
valid_response?()
click to toggle source
# File lib/digicert/request.rb, line 35 def valid_response? response.is_a?(Net::HTTPSuccess) end