Class: Uploadcare::SignedUrlGenerators::AkamaiGenerator
- Inherits:
-
BaseGenerator
- Object
- BaseGenerator
- Uploadcare::SignedUrlGenerators::AkamaiGenerator
- Defined in:
- lib/uploadcare/signed_url_generators/akamai_generator.rb
Overview
Akamai signed URL generator.
Constant Summary collapse
- UUID_REGEX =
UUID validation regex.
/\A[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}\z/i- TEMPLATE =
Akamai token template.
'https://{cdn_host}/{uuid}/?token=exp={expiration}{delimiter}acl={acl}{delimiter}hmac={token}'
Instance Method Summary collapse
Instance Method Details
#generate_url(uuid, acl = uuid, wildcard: false) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/uploadcare/signed_url_generators/akamai_generator.rb', line 13 def generate_url(uuid, acl = uuid, wildcard: false) raise ArgumentError, 'Must contain valid UUID' unless valid?(uuid) formatted_acl = build_acl(uuid, acl, wildcard: wildcard) expire = build_expire signature = build_signature(expire, formatted_acl) TEMPLATE.gsub('{delimiter}', delimiter) .sub('{cdn_host}', sanitized_string(cdn_host)) .sub('{uuid}', sanitized_string(uuid)) .sub('{acl}', formatted_acl) .sub('{expiration}', expire) .sub('{token}', signature) end |