81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# File 'lib/fakes3/file_store.rb', line 81
def get_object(bucket, object_name, request)
begin
real_obj = S3Object.new
obj_root = File.join(@root,bucket,object_name,FAKE_S3_METADATA_DIR)
metadata = File.open(File.join(obj_root, "metadata")) { |file| YAML::load(file) }
real_obj.name = object_name
real_obj.md5 = metadata[:md5]
real_obj.content_type = request.query['response-content-type'] ||
metadata.fetch(:content_type) { "application/octet-stream" }
real_obj.content_disposition = request.query['response-content-disposition'] ||
metadata[:content_disposition]
real_obj.content_encoding = metadata.fetch(:content_encoding) real_obj.io = RateLimitableFile.open(File.join(obj_root, "content"), 'rb')
real_obj.size = metadata.fetch(:size) { 0 }
real_obj.creation_date = File.ctime(obj_root).utc.iso8601(SUBSECOND_PRECISION)
real_obj.modified_date = metadata.fetch(:modified_date) do
File.mtime(File.join(obj_root, "content")).utc.iso8601(SUBSECOND_PRECISION)
end
real_obj.custom_metadata = metadata.fetch(:custom_metadata) { {} }
return real_obj
rescue
unless @quiet_mode
puts $!
$!.backtrace.each { |line| puts line }
end
return nil
end
end
|