'Take a GET or HEAD request, and if it is for a dynamic large object
manifest, return an appropriate response.
Otherwise, simply pass it through.'

def handle_request(self, req, start_response):

    resp_iter = self._app_call(req.environ)
    for (header, value) in self._response_headers:
        if (header.lower() == 'x-object-manifest'):
            close_if_possible(resp_iter)
            response = self.get_or_head_response(req, value)
            return response(req.environ, start_response)
    start_response(self._response_status, self._response_headers, self._response_exc_info)
    return resp_iter
