]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: enforce Content-Type in Swift responses. 5089/head
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Tue, 23 Jun 2015 09:54:09 +0000 (11:54 +0200)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Fri, 26 Jun 2015 13:26:35 +0000 (15:26 +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>
src/rgw/rgw_rest.cc

index 8dbe138f29f47c25b14399300fbe96896fa53b82..914eb5b65a5f2cb2165d3cc4da09029b4e3cb3dc 100644 (file)
@@ -503,6 +503,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()){