According to the HTTP spec, a HEAD request should return the same
status and headers as the GET request (including content-type and
content-length). The HEAD request simply strips out the body and
returns no body. Any case where HEAD routing returned a different
status code than GET, now returns the same status and headers.
Any case where HEAD was supported where GET was not supported now
supports both GET and HEAD.
The wsgi.render_response code now handles HEAD appropriately and
will maintain headers while enforcing no body data is returned.
The bulk of this change is to support the same behavior between
deploying Keystone under eventlet and under HTTPD + mod_wsgi. In
the case of deploying under HTTPD + mod_wsgi, there are cases
where mod_wsgi will turn a HEAD request into a GET request to
ensure that the proper response is rendered. With these changes
all HEAD responses will respond in the same manner under either
eventlet or mod_wsgi.
Reviewed: https:/ /review. openstack. org/104026 /git.openstack. org/cgit/ openstack/ keystone/ commit/ ?id=82101a36d34 8ad0c3de10f4558 78828f4263ffe2
Committed: https:/
Submitter: Jenkins
Branch: master
commit 82101a36d348ad0 c3de10f45587882 8f4263ffe2
Author: Morgan Fainberg <email address hidden>
Date: Tue Jul 1 16:55:11 2014 -0700
HEAD responses should return same status as GET
According to the HTTP spec, a HEAD request should return the same length) . The HEAD request simply strips out the body and
status and headers as the GET request (including content-type and
content-
returns no body. Any case where HEAD routing returned a different
status code than GET, now returns the same status and headers.
Any case where HEAD was supported where GET was not supported now
supports both GET and HEAD.
The wsgi.render_ response code now handles HEAD appropriately and
will maintain headers while enforcing no body data is returned.
The bulk of this change is to support the same behavior between
deploying Keystone under eventlet and under HTTPD + mod_wsgi. In
the case of deploying under HTTPD + mod_wsgi, there are cases
where mod_wsgi will turn a HEAD request into a GET request to
ensure that the proper response is rendered. With these changes
all HEAD responses will respond in the same manner under either
eventlet or mod_wsgi.
Change-Id: I13ce159cbe9739 d4bf5d321fc4bd0 69245f32734
Closes-Bug: #1334368