Class: TranslationCms::Api::Request
- Inherits:
-
Object
- Object
- TranslationCms::Api::Request
- Defined in:
- lib/translation_cms/api/request.rb
Constant Summary collapse
- SPLITER =
'|'
Instance Method Summary collapse
-
#generate_signature(secret_key = '') ⇒ Object
Generate signature token.
-
#initialize(env) ⇒ Request
constructor
Env is a Faraday::Env class github.com/lostisland/faraday/blob/master/lib/faraday/options.rb.
- #public_token ⇒ Object
- #string_to_sign ⇒ Object
- #timestamp ⇒ Object
Constructor Details
#initialize(env) ⇒ Request
Env is a Faraday::Env class
https://github.com/lostisland/faraday/blob/master/lib/faraday/.rb
14 15 16 |
# File 'lib/translation_cms/api/request.rb', line 14 def initialize(env) @env = env end |
Instance Method Details
#generate_signature(secret_key = '') ⇒ Object
Generate signature token
28 29 30 31 |
# File 'lib/translation_cms/api/request.rb', line 28 def generate_signature(secret_key = '') hash = OpenSSL::HMAC.digest('SHA256', secret_key || ENV['SECRET_TOKEN'], string_to_sign) Base64.encode64(hash).chomp end |
#public_token ⇒ Object
22 23 24 |
# File 'lib/translation_cms/api/request.rb', line 22 def public_token @public_token ||= ::Settings.public_token || ENV['PUBLIC_TOKEN'] end |
#string_to_sign ⇒ Object
33 34 35 36 |
# File 'lib/translation_cms/api/request.rb', line 33 def string_to_sign # GET|/api/v1/markers|longtesttokenstring|1462368087 [@env.method.to_s.upcase, @env.url.path, public_token, ].map(&:to_s).join(SPLITER) end |
#timestamp ⇒ Object
18 19 20 |
# File 'lib/translation_cms/api/request.rb', line 18 def @timestamp ||= @env[:request_headers]['X-Timestamp'] end |