module Fog::Storage::GoogleJSON::Utils

Public Instance Methods

http_url(params, expires) click to toggle source
# File lib/fog/storage/google_json/utils.rb, line 7
def http_url(params, expires)
  "http://" << host_path_query(params, expires)
end
https_url(params, expires) click to toggle source
# File lib/fog/storage/google_json/utils.rb, line 11
def https_url(params, expires)
  "https://" << host_path_query(params, expires)
end
url(params, expires) click to toggle source
# File lib/fog/storage/google_json/utils.rb, line 15
def url(params, expires)
  Fog::Logger.deprecation("Fog::Storage::Google => #url is deprecated, use #https_url instead [light_black](#{caller.first})[/]")
  https_url(params, expires)
end

Private Instance Methods

host_path_query(params, expires) click to toggle source
# File lib/fog/storage/google_json/utils.rb, line 22
def host_path_query(params, expires)
  params[:headers]["Date"] = expires.to_i
  params[:path] = ::Addressable::URI.encode_component(params[:path], Addressable::URI::CharacterClasses::PATH)
  query = []

  if params[:query]
    filtered = params[:query].reject { |k, v| k.nil? || v.nil? }
    query = filtered.map { |k, v| [k.to_s, Fog::Google.escape(v)].join("=") }
  end

  query << "GoogleAccessId=#{google_access_id}"
  query << "Signature=#{CGI.escape(signature(params))}"
  query << "Expires=#{params[:headers]['Date']}"
  "#{params[:host]}/#{params[:path]}?#{query.join('&')}"
end