From a3b5a461d2aee0fe715f662dcae966b72b5b35f1 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 27 Jul 2016 18:05:50 +0530 Subject: [PATCH] For range requests, let the range be dumped before the error is honored. Signed-off-by: Pavan Rallabhandi --- src/rgw/rgw_rest.cc | 4 +--- src/rgw/rgw_rest_swift.cc | 9 +++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 588344f88792..fc5b2f9c8e8e 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -655,9 +655,7 @@ void end_header(struct req_state* s, RGWOp* op, const char *content_type, s->formatter->close_section(); } s->formatter->output_footer(); - if (s->obj_size) { - dump_content_length(s, s->formatter->get_len()); - } + dump_content_length(s, s->formatter->get_len()); } else { if (proposed_content_length != NO_CONTENT_LENGTH) { dump_content_length(s, proposed_content_length); diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index dc803265f78b..bf7989f0dbce 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -1206,15 +1206,16 @@ int RGWGetObj_ObjStore_SWIFT::send_response_data(bufferlist& bl, set_req_state_err(s, (partial_content && !op_ret) ? STATUS_PARTIAL_CONTENT : op_ret); dump_errno(s); - if (s->err.is_err()) { - end_header(s, NULL); - return 0; - } if (range_str) { dump_range(s, ofs, end, s->obj_size); } + if (s->err.is_err()) { + end_header(s, NULL); + return 0; + } + dump_content_length(s, total_len); dump_last_modified(s, lastmod); { -- 2.47.3