Sha256: 6b982b947e3c12a527e3912977dd680ea84f84e4fd55042f45cba7722c5ce865
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require 'rack' class Ey::Hmac::Adapter::Rack < Ey::Hmac::Adapter def initialize(request, options) super @request = if request.is_a?(Hash) ::Rack::Request.new(request) else request end end def method request.request_method.to_s.upcase end def content_type request.content_type end def content_digest if existing = request.env['HTTP_CONTENT_DIGEST'] existing elsif digest = body && Digest::MD5.hexdigest(body) request.env['HTTP_CONTENT_DIGEST'] = digest end end 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 def date request.env['HTTP_DATE'] ||= Time.now.httpdate end def path request.path end def sign!(key_id, key_secret) 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 def authorization_signature request.env["HTTP_#{authorization_header.to_s.upcase}"] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ey-hmac-0.0.5 | lib/ey-hmac/adapter/rack.rb |