class HttpSignatures::Signer

Constants

AUTHORIZATION_SCHEME

Public Class Methods

new(key:, algorithm:, header_list:) click to toggle source
# File lib/http_signatures/signer.rb, line 6
def initialize(key:, algorithm:, header_list:)
  @key = key
  @algorithm = algorithm
  @header_list = header_list
end

Public Instance Methods

sign(message) click to toggle source
# File lib/http_signatures/signer.rb, line 12
def sign(message)
  message.tap do |m|
    m["Signature"] = [signature_parameters(message).to_str]
    m["Authorization"] = [AUTHORIZATION_SCHEME + " " + signature_parameters(message).to_str]
  end
end

Private Instance Methods

signature(message) click to toggle source
# File lib/http_signatures/signer.rb, line 30
def signature(message)
  Signature.new(
    message: message,
    key: @key,
    algorithm: @algorithm,
    header_list: @header_list,
  )
end
signature_parameters(message) click to toggle source
# File lib/http_signatures/signer.rb, line 21
def signature_parameters(message)
  SignatureParameters.new(
    key: @key,
    algorithm: @algorithm,
    header_list: @header_list,
    signature: signature(message),
  )
end