Class: FaradayMiddleware::Emarsys
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- FaradayMiddleware::Emarsys
- Defined in:
- lib/faraday_middleware/emarsys.rb,
lib/faraday_middleware/emarsys/constants.rb
Constant Summary collapse
- VERSION =
File.read(path).chomp
- CONTENT_TYPE =
'Content-Type'.freeze
- DEFAULT_MIME_TYPE =
'application/json'.freeze
- STREAM_MIME_TYPE =
'application/stream+json'.freeze
- ESCHER_OPTIONS =
{ algo_prefix: 'EMS', vendor_key: 'EMS', auth_header_name: 'X-Ems-Auth', date_header_name: 'X-Ems-Date' }.each do |k, v| k.freeze v.freeze end.freeze
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, credential_scope:, key_id:) ⇒ Emarsys
constructor
A new instance of Emarsys.
Constructor Details
#initialize(app, credential_scope:, key_id:) ⇒ Emarsys
Returns a new instance of Emarsys.
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/faraday_middleware/emarsys.rb', line 13 def initialize(app, credential_scope:, key_id:) super(app) @signer = ::FaradayMiddleware::Escher::RequestSigner.new( @app, credential_scope: credential_scope, options: self.class::ESCHER_OPTIONS, active_key: -> { ::Escher::Keypool.new.get_active_key(key_id) } ) end |
Instance Method Details
#call(env) ⇒ Object
24 25 26 |
# File 'lib/faraday_middleware/emarsys.rb', line 24 def call(env) @signer.call(env) end |