Class: BlueprintAgreement::Utils::Requester
- Inherits:
-
Object
- Object
- BlueprintAgreement::Utils::Requester
- Defined in:
- lib/blueprint_agreement/utils/requester.rb
Constant Summary collapse
- REQUEST_OPTIONS =
{ 'GET' => Net::HTTP::Get, 'POST' => Net::HTTP::Post, 'PUT' => Net::HTTP::Put, 'DELETE' => Net::HTTP::Delete, 'PATCH' => Net::HTTP::Patch, 'TRACE' => Net::HTTP::Trace, 'OPTIONS' => Net::HTTP::Options, }
Instance Method Summary collapse
-
#initialize(request, server) ⇒ Requester
constructor
A new instance of Requester.
- #perform ⇒ Object
Constructor Details
#initialize(request, server) ⇒ Requester
Returns a new instance of Requester.
16 17 18 19 20 21 22 |
# File 'lib/blueprint_agreement/utils/requester.rb', line 16 def initialize(request, server) @current_request = request @request_option = REQUEST_OPTIONS[request_method] raise BlueprintAgreement::MethodNotFound if @request_option.nil? @server = server end |
Instance Method Details
#perform ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/blueprint_agreement/utils/requester.rb', line 24 def perform begin Net::HTTP.start(request_path.host, request_path.port) do |http| request = @request_option.new request_path set_form_data(request) set_headers(request) request_logger.for({ body: current_request.body, headers: current_request.headers, path: request_path, request_method: request_method }) http.request(request).tap do |http_request| puts request_logger.print if ENV["AGREEMENT_LOUD"] raise EndpointNotFound.new(http_request) if http_request.code == "404" end end rescue Errno::ECONNREFUSED sleep 1 perform rescue Errno::ECONNRESET sleep 1 perform end end |