class Idcf::FaradayMiddleware::CdnSignature
コンテンツキャッシュ用のシグネチャ生成を実施します。
Public Instance Methods
call(env)
click to toggle source
# File lib/idcf/faraday_middleware/cdn_signature.rb, line 5 def call(env) raise InvalidKeys, errors.messages.to_s if invalid? env[:request_headers][EXPIRES] = expires env[:request_headers][SIGNATURE] = signature env @app.call env end
Private Instance Methods
signature(env)
click to toggle source
# File lib/idcf/faraday_middleware/cdn_signature.rb, line 16 def signature(env) Base64.strict_encode64( OpenSSL::HMAC.hexdigest( OpenSSL::Digest::SHA256.new, secret_key, signature_seed(env) ) ) end
signature_seed(env)
click to toggle source
# File lib/idcf/faraday_middleware/cdn_signature.rb, line 26 def signature_seed(env) [ env.method.to_s.upcase, api_key, secret_key, env[:request_headers][EXPIRES], env.url.request_uri, env.body.to_s ].join("\n") end