Class: StraightServerKit::Client::SigningMiddleware

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/straight-server-kit/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, secret) ⇒ SigningMiddleware

Returns a new instance of SigningMiddleware.



56
57
58
59
# File 'lib/straight-server-kit/client.rb', line 56

def initialize(app, secret)
  @app    = app
  @secret = secret
end

Instance Method Details

#call(env) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/straight-server-kit/client.rb', line 61

def call(env)
  env[:request_headers]['X-Nonce']     = nonce = (Time.now.to_f * 1e12).to_i.to_s
  env[:request_headers]['X-Signature'] = StraightServerKit.signature(
    nonce:       nonce,
    body:        env[:body],
    method:      env[:method],
    request_uri: URI(env[:url]).request_uri,
    secret:      @secret,
  )
  @app.call(env)
end