Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
goto done_err;
attr_iter = attrs.find(RGW_ATTR_USER_MANIFEST);
- if (attr_iter != attrs.end()) {
+ if (attr_iter != attrs.end() && !skip_manifest) {
ret = handle_user_manifest(attr_iter->second.c_str());
if (ret < 0) {
ldout(s->cct, 0) << "ERROR: failed to handle user manifest ret=" << ret << dendl;
bool get_data;
bool partial_content;
bool range_parsed;
+ bool skip_manifest;
rgw_obj obj;
utime_t gc_invalidate_time;
get_data = false;
partial_content = false;
range_parsed = false;
+ skip_manifest = false;
ret = 0;
}
}
}
+int RGWGetObj_ObjStore_SWIFT::get_params()
+{
+ const string& mm = s->info.args.get("multipart-manifest");
+ skip_manifest = (mm.compare("get") == 0);
+
+ return RGWGetObj_ObjStore::get_params();
+}
+
int RGWGetObj_ObjStore_SWIFT::send_response_data(bufferlist& bl, off_t bl_ofs, off_t bl_len)
{
string content_type;
RGWGetObj_ObjStore_SWIFT() {}
~RGWGetObj_ObjStore_SWIFT() {}
+ int get_params();
int send_response_data(bufferlist& bl, off_t ofs, off_t len);
bool need_object_expiration() { return true; }
};