Module: Comunit::Network::Sending

Included in:
Handler
Defined in:
app/services/comunit/network/sending.rb

Overview

Sending signed REST requests

Instance Method Summary collapse

Instance Method Details

#headersObject



20
21
22
23
24
25
# File 'app/services/comunit/network/sending.rb', line 20

def headers
  {
    content_type: :json,
    signature: Rails.application.credentials.signature_token
  }
end

#rest(verb, url, data) ⇒ Object

Parameters:

  • verb (String|Symbol)
  • url (String)
  • data (Hash)


10
11
12
13
14
15
16
17
18
# File 'app/services/comunit/network/sending.rb', line 10

def rest(verb, url, data)
  log_info("#{verb.to_s.upcase} #{url}")
  response = RestClient.send(verb, url, JSON.generate(data), headers)
  log_info("Response (#{response.code}):\n#{response.body.inspect}\n")
  response
rescue RestClient::Exception => e
  log_error("Failed with #{e.http_code}: #{e}\n#{e.response}")
  nil
end