Skip to content

Commit

Permalink
rgw/s3website: Fix x-amz-website-redirect-location support.
Browse files Browse the repository at this point in the history
Support for the x-amz-website-redirect-location header was broken in the
feature merging of Jewel, as it previously depended on the error handler to
redirect, which was overkill. Simplify it to work.

Backport: jewel
Fixes: http://tracker.ceph.com/issues/15531
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
(cherry picked from commit 7cbb63b)
  • Loading branch information
Robin H. Johnson committed Jun 7, 2016
1 parent 3c0ac8e commit 36672c6
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/rgw/rgw_rest_s3.cc
Expand Up @@ -92,8 +92,13 @@ int RGWGetObj_ObjStore_S3Website::send_response_data(bufferlist& bl, off_t bl_of
bufferlist &bl = iter->second;
s->redirect = string(bl.c_str(), bl.length());
s->err.http_ret = 301;
ldout(s->cct, 20) << __CEPH_ASSERT_FUNCTION << " redirectng per x-amz-website-redirect-location=" << s->redirect << dendl;
ldout(s->cct, 20) << __CEPH_ASSERT_FUNCTION << " redirecting per x-amz-website-redirect-location=" << s->redirect << dendl;
op_ret = -ERR_WEBSITE_REDIRECT;
set_req_state_err(s, op_ret);
dump_errno(s);
dump_content_length(s, 0);
dump_redirect(s, s->redirect);
end_header(s, this);
return op_ret;
} else {
return RGWGetObj_ObjStore_S3::send_response_data(bl, bl_ofs, bl_len);
Expand Down

0 comments on commit 36672c6

Please sign in to comment.