class Ey::Hmac::Adapter::Faraday
Public Instance Methods
body()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 33 def body if request[:body] && request[:body].to_s != "" request[:body] end end
content_digest()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 12 def content_digest @content_digest ||= find_header( *%w[CONTENT-DIGEST CONTENT_DIGEST Content-Digest Content_Digest] ) end
content_type()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 6 def content_type @content_type ||= find_header( *%w[CONTENT-TYPE CONTENT_TYPE Content-Type Content_Type] ) end
date()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 39 def date find_header(*%w[DATE Date]) end
method()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 2 def method request[:method].to_s.upcase end
path()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 49 def path request[:url].path end
set_content_digest()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 18 def set_content_digest return if content_digest digestable = if body.respond_to?(:rewind) body.rewind body.read.tap { |_| body.rewind } else body.to_s end if digestable && digestable != "" @content_digest = request[:request_headers]['Content-Digest'] = Digest::MD5.hexdigest(digestable) end end
set_date()
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 43 def set_date unless date request[:request_headers]['Date'] = Time.now.httpdate end end
sign!(key_id, key_secret)
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 53 def sign!(key_id, key_secret) set_content_digest set_date if options[:version] request[:request_headers]['X-Signature-Version'] = options[:version] end request[:request_headers][authorization_header] = authorization(key_id, key_secret) end
Private Instance Methods
find_header(*keys)
click to toggle source
# File lib/ey-hmac/adapter/faraday.rb, line 70 def find_header(*keys) value = nil keys.find { |k| value = request[:request_headers][k] } value end