class Myra::Request::HTTP
Public Class Methods
new(request)
click to toggle source
# File lib/myra/request/http.rb, line 8 def initialize(request) @request = request @signature = Signature.new( secret: Myra.configuration.api_secret, date: request.date ) end
Public Instance Methods
response()
click to toggle source
# File lib/myra/request/http.rb, line 16 def response @response ||= perform_request end
Private Instance Methods
api_key()
click to toggle source
# File lib/myra/request/http.rb, line 35 def api_key @request.api_key end
auth_header()
click to toggle source
# File lib/myra/request/http.rb, line 43 def auth_header "MYRA #{api_key}:#{auth_signature}" end
auth_signature()
click to toggle source
# File lib/myra/request/http.rb, line 39 def auth_signature @signature.for @request.signing_string end
conn()
click to toggle source
# File lib/myra/request/http.rb, line 31 def conn Faraday.new(url: @request.uri) end
perform_request()
click to toggle source
# File lib/myra/request/http.rb, line 22 def perform_request conn.send(@request.type) do |req| req.headers['Content-Type'] = @request.content_type req.headers['Date'] = @request.date.to_s req.headers['Authorization'] = auth_header req.body = @request.payload if @request.with_payload? end end