class HttpSignatures::Context

Public Class Methods

new(keys: {}, signing_key_id: nil, algorithm: nil, headers: nil) click to toggle source
# File lib/http_signatures/context.rb, line 4
def initialize(keys: {}, signing_key_id: nil, algorithm: nil, headers: nil)
  @key_store = KeyStore.new(keys)
  @signing_key_id = signing_key_id
  @algorithm_name = algorithm
  @headers = headers
end

Public Instance Methods

signer() click to toggle source
# File lib/http_signatures/context.rb, line 11
def signer
  Signer.new(
    key: signing_key,
    algorithm: Algorithm.create(@algorithm_name),
    header_list: HeaderList.new(@headers),
  )
end
verifier() click to toggle source
# File lib/http_signatures/context.rb, line 19
def verifier
  Verifier.new(key_store: @key_store)
end

Private Instance Methods

signing_key() click to toggle source
# File lib/http_signatures/context.rb, line 25
def signing_key
  if @signing_key_id
    @key_store.fetch(@signing_key_id)
  else
    @key_store.only_key
  end
end