def __call__(self, environ, start_response): if environ['REQUEST_METHOD'] == 'HEAD': start_response(self.status, self.headerlist) return [] if not self.body and not self.empty_body: return self.generate_response(environ, start_response) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): self.request = Request(environ) self.environ = environ url_match = self.app_by_url() if url_match: params = self.environ.get('params', {}) params.update(url_match.params) if url_match.app == 'self': if self.request.method in self.ALLOWED_HTTP_METHODS: self.dispatch(params) if self.responsable: return self.call(environ, start_response) else: return Response.__call__(self, environ, start_response) else: return HTTPMethodNotAllowed()(environ, start_response) else: environ['SCRIPT_NAME'] += url_match.app_url environ['PATH_INFO'] = self.request.path_info.lstrip('/')[len( url_match.app_url):] environ['params'] = params return url_match.app(environ, start_response) else: return HTTPNotFound('%s is not found on this server' % self.request.path)(environ, start_response)
def __call__(self, environ, start_response): if environ['REQUEST_METHOD'] == 'HEAD': start_response(self.status, self.headerlist) return [] if not self.body and not self.empty_body: return self.generate_response(environ, start_response) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): if self.body or self.empty_body: app_iter = Response.__call__(self, environ, start_response) else: app_iter = self.generate_response(environ, start_response) if environ['REQUEST_METHOD'] == 'HEAD': app_iter = [] return app_iter
def __call__(self, environ, start_response): # FIXME: ensure HEAD and GET response headers are identical if environ['REQUEST_METHOD'] == 'HEAD': start_response(self.status, self.headerlist) return [] if not self.body and not self.empty_body: return self.generate_response(environ, start_response) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): # FIXME: ensure HEAD and GET response headers are identical if environ['REQUEST_METHOD'] == 'HEAD': start_response(self.status, self.headerlist) return [] if not self.body and not self.empty_body: return self.generate_response(environ, start_response) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): # differences from webob.exc.WSGIHTTPException # # - does not try to deal with HEAD requests # # - does not manufacture a new response object when generating # the default response # self.prepare(environ) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): # differences from webob.exc.WSGIHTTPException # # - does not try to deal with HEAD requests # # - does not manufacture a new response object when generating # the default response # self.prepare(environ) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): d = environ['sancus.pos_args'] kw = environ['sancus.named_args'] h = environ['sancus.handler'] hn = environ['sancus.handler_name'] ret = h(self.request, *d, **kw) if ret is None: return Response.__call__(self, environ, start_response) elif ret == 404: raise exc.HTTPNotFound() elif ret == 405: raise exc.HTTPMethodNotAllowed(allow = self.supported_methods(environ)) elif ret == 400: raise exc.HTTPBadRequest() elif ret == 503: raise exc.HTTPServiceUnavailable() else: assert "handler %s returned %r" % (hn, ret)
def __call__(self, environ, start_response): named_args = environ['sancus.args'] handler = environ['sancus.handler'] self.__logger__.debug('handler:%r, named_args:%r' % (handler, named_args)) ret = handler(self.request, **named_args) if ret is None: return Response.__call__(self, environ, start_response) elif ret == 404: raise exc.HTTPNotFound() elif ret == 405: raise exc.HTTPMethodNotAllowed(allow = self.supported_methods()) elif ret == 400: raise exc.HTTPBadRequest() elif ret == 503: raise exc.HTTPServiceUnavailable() else: log.warn("%r returned %r" % (h, ret)) raise exc.HTTPInternalServerError("%d returned from handler not supported" % ret)
def __call__(self, environ, start_response): "Return the HTTP response" self.content_type = 'text/javascript; charset=utf-8' self.body = json.dumps(self.detail) return Response.__call__(self, environ, start_response)
def __call__(self, environ, start_response): "Return the HTTP response" self.content_type = 'text/javascript; charset=utf-8' self.body = json.dumps(self.detail) return Response.__call__(self, environ, start_response)