Class: Idcf::FaradayMiddleware::Signature

Inherits:
Faraday::Middleware
  • Object
show all
Includes:
Configuration, Validations
Defined in:
lib/idcf/faraday_middleware/signature.rb

Overview

ILB, DNS, Your(Billing)用のシグネチャ生成を実施します。

Direct Known Subclasses

CdnSignature

Constant Summary

Constants included from Configuration

Configuration::EXPIRES, Configuration::HEADER_API_KEY, Configuration::HEADER_EXPIRES, Configuration::HEADER_SIGNATURE, Configuration::PARTIALLY_DECODE, Configuration::SIGNATURE, Configuration::SIGNATURE_TTL

Instance Method Summary collapse

Constructor Details

#initialize(app, keys = {}) ⇒ Signature

Returns a new instance of Signature.



10
11
12
13
14
# File 'lib/idcf/faraday_middleware/signature.rb', line 10

def initialize(app, keys = {})
  super(app)
  @api_key    = keys[:api_key]
  @secret_key = keys[:secret_key]
end

Instance Method Details

#call(env) ⇒ Object

Raises:



16
17
18
19
20
21
22
23
24
# File 'lib/idcf/faraday_middleware/signature.rb', line 16

def call(env)
  raise InvalidKeys, errors.messages.to_s if invalid?

  env[:request_headers][HEADER_API_KEY]   = api_key
  env[:request_headers][HEADER_EXPIRES]   = expires
  env[:request_headers][HEADER_SIGNATURE] = signature env

  @app.call env
end