]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: enforce Content-Type in Swift responses.
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Tue, 23 Jun 2015 09:54:09 +0000 (11:54 +0200)
committerLoic Dachary <ldachary@redhat.com>
Thu, 3 Sep 2015 11:28:50 +0000 (13:28 +0200)
Swift sends Content-Type HTTP header even if the response
doesn't contain body. We have this behaviour implemented
until applying some changes in end_header() function.
Unfortunately, lack of Content-Type causes early exits in
many Tempest's tests for Swift API verification.

Fixes: #12157
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 106aeba206736d4080326f9bc191876bed63370b)

src/rgw/rgw_rest.cc

index a9fa43428e4f8b5fba4819ce2c88a00682e40ce3..7f9472de8cc6774af7597091aae6636a5ab68e21 100644 (file)
@@ -513,6 +513,10 @@ void end_header(struct req_state *s, RGWOp *op, const char *content_type, const
     dump_access_control(s, op);
   }
 
+  if (s->prot_flags & RGW_REST_SWIFT) {
+    force_content_type = true;
+  }
+
   /* do not send content type if content length is zero
      and the content type was not set by the user */
   if (force_content_type || (!content_type &&  s->formatter->get_len()  != 0) || s->err.is_err()){