Class: SpreeCmCommissioner::Webhooks::Subscribers::MakeRequest
- Inherits:
-
Spree::Webhooks::Subscribers::MakeRequest
- Object
- Spree::Webhooks::Subscribers::MakeRequest
- SpreeCmCommissioner::Webhooks::Subscribers::MakeRequest
- Defined in:
- app/services/spree_cm_commissioner/webhooks/subscribers/make_request.rb
Instance Attribute Summary collapse
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
Instance Method Summary collapse
- #headers ⇒ Object
-
#initialize(url:, api_key:, webhook_payload_body:) ⇒ MakeRequest
constructor
A new instance of MakeRequest.
-
#request ⇒ Object
overrided.
Constructor Details
#initialize(url:, api_key:, webhook_payload_body:) ⇒ MakeRequest
Returns a new instance of MakeRequest.
9 10 11 12 |
# File 'app/services/spree_cm_commissioner/webhooks/subscribers/make_request.rb', line 9 def initialize(url:, api_key:, webhook_payload_body:) @api_key = api_key super(url: url, webhook_payload_body: webhook_payload_body) end |
Instance Attribute Details
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
7 8 9 |
# File 'app/services/spree_cm_commissioner/webhooks/subscribers/make_request.rb', line 7 def api_key @api_key end |
Instance Method Details
#headers ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'app/services/spree_cm_commissioner/webhooks/subscribers/make_request.rb', line 14 def headers headers = {} headers['Content-Type'] = 'application/json' headers['X-Api-Key'] = api_key if api_key.present? headers end |
#request ⇒ Object
overrided
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/services/spree_cm_commissioner/webhooks/subscribers/make_request.rb', line 24 def request req = Net::HTTP::Post.new(uri_path, headers) req.body = webhook_payload_body @request ||= begin start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) request_result = http.request(req) @execution_time_in_milliseconds = (Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time).in_milliseconds request_result end rescue Errno::ECONNREFUSED, Net::ReadTimeout, SocketError Class.new do def self.code '0' end end end |