class Komtet::Transport::RequestSignatureMiddleware

middleware for request signatures

Public Class Methods

new(app, shop_id, signature_key) click to toggle source
# File lib/komtet/transport.rb, line 10
def initialize(app, shop_id, signature_key)
  @app = app
  @authorization = shop_id
  @signature_key = signature_key
end

Public Instance Methods

call(env) click to toggle source
# File lib/komtet/transport.rb, line 16
def call(env)
  env.request_headers['Authorization'] = @authorization
  env.request_headers['X-HMAC-Signature'] = OpenSSL::HMAC.hexdigest(
    OpenSSL::Digest::MD5.new, @signature_key, "#{env.method.to_s.upcase}#{env.url}#{env.body}"
  )
  @app.call(env)
end