class Net::HTTP::Signature::Signer
Public Class Methods
new(request:, algorithm:, secret:)
click to toggle source
# File lib/net/http/signature/signer.rb, line 5 def initialize(request:, algorithm:, secret:) @request = request @algorithm = algorithm @secret = secret unless @algorithm =~ /.+-.+/ fail ArgumentError, "Invalid algorithm format: {{key}}-{{digester}}" end unless key fail ArgumentError, "Crypto scheme not supported" end end
Public Instance Methods
algorithm()
click to toggle source
# File lib/net/http/signature/signer.rb, line 19 def algorithm @algorithm end
to_s()
click to toggle source
# File lib/net/http/signature/signer.rb, line 23 def to_s Base64.encode64(key.update(request).digest) end
Private Instance Methods
digester()
click to toggle source
# File lib/net/http/signature/signer.rb, line 41 def digester algorithm.split("-").last.upcase end
key()
click to toggle source
# File lib/net/http/signature/signer.rb, line 35 def key case algorithm.split("-").first when "hmac" then OpenSSL::HMAC.new(secret, digester) end end
request()
click to toggle source
# File lib/net/http/signature/signer.rb, line 31 def request @request.to_s end
secret()
click to toggle source
# File lib/net/http/signature/signer.rb, line 27 def secret @secret end