Sha256: 20e77462628d6643026b328c554fa9406b32a1019d86b2f1083b79becaf34c25
Contents?: true
Size: 1.43 KB
Versions: 39
Compression:
Stored size: 1.43 KB
Contents
module Fog module Storage class Rackspace class Real # Get headers for object # # ==== Parameters # * container<~String> - Name of container to look in # * object<~String> - Name of object to look for # @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 # @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 # @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 # @raise [Fog::Storage::Rackspace::ServiceError] def head_object(container, object) request({ :expects => 200, :method => 'HEAD', :path => "#{Fog::Rackspace.escape(container)}/#{Fog::Rackspace.escape(object)}" }, false) end end class Mock def head_object(container, object) c = mock_container! container o = c.mock_object! object headers = o.to_headers hashes, length = [], 0 o.each_part do |part| hashes << part.hash length += part.bytes_used end headers['Etag'] = "\"#{Digest::MD5.hexdigest(hashes.join)}\"" headers['Content-Length'] = length.to_s headers['X-Static-Large-Object'] = "True" if o.static_manifest? response = Excon::Response.new response.status = 200 response.headers = headers response end end end end end
Version data entries
39 entries across 37 versions & 6 rubygems