Sha256: d5888cd5a954dd161e4556a7ec84418475120b94b0a63ce2a97f069c49660c74

Contents?: true

Size: 1.2 KB

Versions: 2

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Fog
  module Aliyun
    class Storage
      class Real
        # Get details for object
        #
        # ==== Parameters
        # * object<~String> - Name of object to look for
        #
        def get_object(object, options = {}, &block)
          options = options.reject { |_key, value| value.nil? }
          bucket_name = options[:bucket]
          bucket_name ||= @aliyun_oss_bucket
          options.delete(:bucket)
          # Using OSS ruby SDK to fix performance issue
          params = { :headers => {} }
          params[:query] = options.delete('query') || {}

          params[:headers].merge!(options)
          if options['If-Modified-Since']
            params[:headers]['If-Modified-Since'] = Fog::Time.at(options['If-Modified-Since'].to_i).to_date_header
          end
          if options['If-Unmodified-Since']
            params[:headers]['If-Unmodified-Since'] = Fog::Time.at(options['If-Unmodified-Since'].to_i).to_date_header
          end

          if block_given?
            params[:response_block] = Proc.new
          end

          @oss_http.get({:bucket => bucket_name, :object => object}, params, &block)

        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-aliyun-0.3.18 lib/fog/aliyun/requests/storage/get_object.rb
fog-aliyun-0.3.17 lib/fog/aliyun/requests/storage/get_object.rb