Skip to content

Instantly share code, notes, and snippets.

@johnlpollard
Last active February 16, 2018 19:12
Show Gist options
  • Save johnlpollard/b6715c8d4a87c5226fb1a3da39e6d5a0 to your computer and use it in GitHub Desktop.
Save johnlpollard/b6715c8d4a87c5226fb1a3da39e6d5a0 to your computer and use it in GitHub Desktop.
def signed_url(url, filename = nil)
   passphrase_secret = 'passphrase_secret'
   delay = 120
   timeout = (Time.now.to_i + delay)
   file_path = URI::parse(url).path

   download_params = "filename=#{URI::encode(filename)}&disposition=attachment&" if filename
   params = "#{file_path}?#{download_params}ttl=#{timeout.to_s}"
   signature = Digest::MD5.hexdigest("#{params}&passphrase=#{passphrase_secret}")

   return "https://highwinds_domain_name#{params}&signature=#{signature}" 
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment