def object_metadata
@object_metadata ||= (
response = self.container.connection.storage_request("HEAD", @storagepath)
raise CloudFiles::Exception::NoSuchObject, "Object #{@name} does not exist" unless (response.code =~ /^20/)
resphash = {}
metas = response.to_hash.select { |k,v| k.match(/^x-object-meta/) }
metas.each do |x,y|
resphash[x] = (y.respond_to?(:join) ? y.join('') : y.to_s)
end
{
:manifest => response["x-object-manifest"],
:bytes => response["content-length"],
:last_modified => Time.parse(response["last-modified"]),
:etag => response["etag"],
:content_type => response["content-type"],
:metadata => resphash
}
)
end