class Rack::Contrib::Sign::Receipt

Attributes

api_key[RW]
api_secret[RW]
body[RW]
content_type[RW]
headers[R]
host[RW]
request_method[R]
uri[RW]

Public Class Methods

new() click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 15
def initialize
  @headers = {}
end

Public Instance Methods

body_length() click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 27
def body_length
  body.length
end
body_md5() click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 23
def body_md5
  Digest::MD5.hexdigest(body)
end
header_text() click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 47
def header_text
  s = ""

  headers.sort_by { |k,v| k.downcase }.each do |header, value|
    s << "%s:%s\n" % [header.downcase, value]
  end

  s
end
preamble() click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 35
def preamble
  s = ""
  s << "%s\n" % request_method
  s << "%s\n" % host
  s << "%s\n" % uri
  s << "%s\n" % api_key
  s << "%s\n" % content_type
  s << "%s\n" % body_length
  s << "%s\n" % body_md5
  s
end
request_method=(s) click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 19
def request_method= s
  @request_method = s.upcase
end
to_s() click to toggle source
# File lib/rack/contrib/sign/receipt.rb, line 31
def to_s
  preamble + header_text
end