class ActiveStorage::Service::GCSService

def private_url(key, expires_in:, filename:, content_type:, disposition:, **)

def private_url(key, expires_in:, filename:, content_type:, disposition:, **)
  args = {
    expires: expires_in,
    query: {
      "response-content-disposition" => content_disposition_with(type: disposition, filename: filename),
      "response-content-type" => content_type
    }
  }
  if @config[:iam]
    args[:issuer] = issuer
    args[:signer] = signer
  end
  file_for(key).signed_url(**args)
end