class Miasma::Contrib::AzureApiCore::SignatureAzure::SasBlob

Constants

SIGNATURE_HEADERS

Public Instance Methods

generate(http_method, path, opts) click to toggle source
# File lib/miasma/contrib/azure.rb, line 197
def generate(http_method, path, opts)
  params = opts.fetch(:params, Smash.new)
  headers = opts.fetch(:headers, Smash.new)
  to_sign = [
    params[:sp],
    params[:st],
    params[:se],
    ['/blob', account_name, path].join('/'),
    params[:si],
    params[:sip],
    params[:spr],
    params[:sv],
    *self.class.const_get(:SIGNATURE_HEADERS).map{|head_name|
      headers.fetch(head_name, '')
    }
  ].map(&:to_s).join("\n")
  sign_request(to_sign)
end