Sha256: fb4a977c82fcb20e22b8559ef56b173c844153a64e1eb2b6d67b695367df7e8a

Contents?: true

Size: 529 Bytes

Versions: 2

Compression:

Stored size: 529 Bytes

Contents

require_relative 'fastly'

module UrlTokenizer
  class FastlyQueryString < Fastly
    def call(input_url, **options)
      options = global_options.merge options
      uri = URI.parse input_url
      path = uri.path
      return if path.empty? || path == '/'

      expiration = expiration_date(options[:expires_in])
      dir = File.dirname(path)

      token = digest [dir, expiration].compact.join
      token = [expiration, token].compact.join '_'

      uri.query = build_query token: token
      uri.to_s
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
url_tokenizer-1.3.1 lib/url_tokenizer/fastly_query_string.rb
url_tokenizer-1.3.0 lib/url_tokenizer/fastly_query_string.rb