Class: HttpSignatures::SigningString

Inherits:
Object
  • Object
show all
Defined in:
lib/http_signatures/signing_string.rb

Constant Summary collapse

REQUEST_TARGET =
"(request-target)"

Instance Method Summary collapse

Constructor Details

#initialize(header_list:, message:) ⇒ SigningString

Returns a new instance of SigningString.



6
7
8
9
# File 'lib/http_signatures/signing_string.rb', line 6

def initialize(header_list:, message:)
  @header_list = header_list
  @message = message
end

Instance Method Details

#header_value(header) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/http_signatures/signing_string.rb', line 17

def header_value(header)
  if header == REQUEST_TARGET
    request_target
  else
    @message.fetch(header) { raise HeaderNotInMessage, header }
  end
end

#request_targetObject



25
26
27
# File 'lib/http_signatures/signing_string.rb', line 25

def request_target
  "%s %s" % [@message.method.downcase, @message.path]
end

#to_strObject



11
12
13
14
15
# File 'lib/http_signatures/signing_string.rb', line 11

def to_str
  @header_list.to_a.map do |header|
    "%s: %s" % [header, header_value(header)]
  end.join("\n")
end