def test_finalize(self): resp = Response() resp.body = "Foobar" resp.finalize(None) self.assertEqual(resp.body, "Foobar") self.assertEqual(resp.wsgi_headers, [('Content-Length', str(len(resp.body)))]) resp = Response("404 Not Found") resp.file = BytesIO(b"Foobar") resp.finalize(None) self.assertEqual([block for block in resp.iterable], [b'Foobar']) resp = Response() resp.file = BytesIO(b"Foobar") resp.finalize(lambda f, blocksize: iter(lambda: f.read(8 * 1024), b'')) self.assertEqual([block for block in resp.iterable], [b'Foobar'])
def _request(self, env, req): """ Processes the request Notes: This method acts as a wrapper to ease exception handling Args: env: The wsgi environ variable """ resp = Response() self._do_before(req, resp) context = self.map.match(req.path, env) if context is not None: req.matchdict = context if 'controller' in context and context[ 'controller'] in self._controllers: if hasattr(self._controllers[context['controller']], context['action']): cls = self._controllers[context['controller']] controller = cls() res = getattr(controller, context['action'])(req, resp) else: raise HTTPNotFound() elif isinstance(context['action'], collections.Callable): res = context['action'](req, resp) else: raise HTTPNotFound() if isinstance(res, Response): if isinstance(res, HTTPErrorResponse): raise res resp = res elif res is not None: resp.body = str(res) else: raise HTTPNotFound() return resp
def _request(self, env, req): """ Processes the request Notes: This method acts as a wrapper to ease exception handling Args: env: The wsgi environ variable """ resp = Response() self._do_before(req, resp) context = self.map.match(req.path, env) if context is not None: req.matchdict = context if 'controller' in context and context['controller'] in self._controllers: if hasattr(self._controllers[context['controller']], context['action']): cls = self._controllers[context['controller']] controller = cls() res = getattr(controller, context['action'])(req, resp) else: raise HTTPNotFound() elif callable(context['action']): res = context['action'](req, resp) else: raise HTTPNotFound() if isinstance(res, Response): if isinstance(res, HTTPErrorResponse): raise res resp = res elif res is not None: resp.body = str(res) else: raise HTTPNotFound() return resp
def handle_ise(request, response): print((response.description)) resp = Response() resp.body = "Whoops" return resp
def user(request, response): resp = Response(headers={'X-Test': 'Foobar'}) resp.body = "Hello world" return resp