def dispatch(self, request, start_response):
<EOL>dispatched_response = self.dispatch_non_api_requests(request,<EOL>start_response)<EOL>if dispatched_response is not None:<EOL><INDENT>return dispatched_response<EOL><DEDENT>try:<EOL><INDENT>return self.call_backend(request, start_response)<EOL><DEDENT>except errors.RequestError as error:<EOL><INDENT>return self._handle_request_error(request, error, start_response)<EOL><DEDENT>
Handles dispatch to apiserver handlers.

        This typically ends up calling start_response and returning the entire
          body of the response.

        Args:
          request: An ApiRequest, the request from the user.
          start_response: A function with semantics defined in PEP-333.

        Returns:
          A string, the body of the response.