class Ey::Hmac::Adapter::Rack
Public Class Methods
new(request, options)
click to toggle source
Calls superclass method
Ey::Hmac::Adapter::new
# File lib/ey-hmac/adapter/rack.rb, line 4 def initialize(request, options) super @request = request.is_a?(Hash) ? ::Rack::Request.new(request) : request end
Public Instance Methods
body()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 27 def body if request.env["rack.input"] request.env["rack.input"].rewind body = request.env["rack.input"].read request.env["rack.input"].rewind body == "" ? nil : body else nil end end
content_digest()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 17 def content_digest request.env['HTTP_CONTENT_DIGEST'] end
content_type()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 13 def content_type request.content_type end
date()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 37 def date request.env['HTTP_DATE'] end
method()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 9 def method request.request_method.to_s.upcase end
path()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 45 def path request.path end
set_content_digest()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 21 def set_content_digest if body request.env['HTTP_CONTENT_DIGEST'] = Digest::MD5.hexdigest(body) end end
set_date()
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 41 def set_date request.env['HTTP_DATE'] = Time.now.httpdate end
sign!(key_id, key_secret)
click to toggle source
# File lib/ey-hmac/adapter/rack.rb, line 49 def sign!(key_id, key_secret) set_date set_content_digest if options[:version] request.env['HTTP_X_SIGNATURE_VERSION'] = options[:version] end request.env["HTTP_#{authorization_header.to_s.upcase}"] = authorization(key_id, key_secret) end