def _handler(request): try: value = yield self.handler(request) code, headers, content = extract_response(value) except Exception: log_exception() code, headers, content = 500, {}, "500 Internal Server Error" try: if request._disconnected: return request.setResponseCode(code) headers.setdefault('Server', 'monocle/%s' % VERSION) grouped_headers = {} for name, value in headers.iteritems(): if name in grouped_headers: grouped_headers[name].append(value) else: grouped_headers[name] = [value] for name, value in grouped_headers.iteritems(): request.responseHeaders.setRawHeaders(name, value) request.write(content) # close connections with a 'close' header if headers.get('Connection', '').lower() == 'close': request.channel.persistent = False request.finish() except Exception: log_exception() raise
def handle_request(self, req): before = time.time() resp = None handler, kwargs = self.route_match(req) try: if handler: resp = yield self.request_handler_wrapper( req, handler, **kwargs) elif self.handler: resp = yield self.request_handler_wrapper(req, self.handler) else: resp = (404, {}, "") except Exception: log_exception() resp = (500, {}, "500 Internal Server Error") after = time.time() content_length = 0 if len(resp) > 2: content_length = len(resp[2]) log.info("[%s] %s %s %s -> %s (%s bytes, %.0fms); %s", req.remote_ip, req.method, req.path, req.proto, resp[0], content_length, (after - before) * 1000, req.headers.get('user-agent')) yield Return(resp)
def handle_request(self, req): before = time.time() resp = None handler, kwargs = self.route_match(req) try: if handler: resp = yield self.request_handler_wrapper(req, handler, **kwargs) elif self.handler: resp = yield self.request_handler_wrapper(req, self.handler) else: resp = (404, {}, "") except Exception: log_exception() resp = (500, {}, "500 Internal Server Error") after = time.time() content_length = 0 if len(resp) > 2: content_length = len(resp[2]) log.info("[%s] %s %s %s -> %s (%s bytes, %.0fms); %s", req.remote_ip, req.method, req.path, req.proto, resp[0], content_length, (after - before) * 1000, req.headers.get('user-agent')) yield Return(resp)
def handle_request(self, req): resp = None handler, kwargs = self.route_match(req) try: if handler: resp = yield self.request_handler_wrapper( req, handler, **kwargs) elif self.handler: resp = yield self.request_handler_wrapper(req, self.handler) else: resp = (404, {}, "") except Exception: log_exception() resp = (500, {}, "500 Internal Server Error") yield Return(resp)
def render(self, request): @_o def _handler(request): try: code, headers, content = yield launch(self.handler, request) except Exception, e: log_exception() code, headers, content = 500, {}, "500 Internal Server Error" try: request.setResponseCode(code) headers.setdefault('Server', 'monocle/%s' % VERSION) for name, value in headers.iteritems(): request.setHeader(name, value) request.write(content) request.finish() except Exception, e: log_exception() raise
def _handler(request): try: value = yield launch(self.handler, request) code, headers, content = extract_response(value) except Exception: log_exception() code, headers, content = 500, {}, "500 Internal Server Error" try: request.setResponseCode(code) headers.setdefault('Server', 'monocle/%s' % VERSION) for name, value in headers.iteritems(): request.setHeader(name, value) request.write(content) if not request._disconnected: # close connections with a 'close' header if headers.get('Connection', '').lower() == 'close': request.channel.persistent = False request.finish() except Exception: log_exception() raise
def _handler(request): try: code, headers, content = yield launch(self.handler, request) except Exception, e: log_exception() code, headers, content = 500, {}, "500 Internal Server Error"
def _handler(twisted_request): try: headers = HttpHeaders() for k, vs in twisted_request.requestHeaders.getAllRawHeaders(): for v in vs: headers.add(k, v) # decode UTF-8 keys, matching tornado arg parsing behavior args = dict( [(k.decode('utf-8'), v) for k, v in twisted_request.args.iteritems()]) body = None if hasattr(twisted_request.content, "getvalue"): body = twisted_request.content.getvalue() else: twisted_request.content.seek(0, os.SEEK_END) if twisted_request.content.tell() <= self.max_body_str_len: twisted_request.content.seek(0, os.SEEK_SET) body = twisted_request.content.read() twisted_request.content.seek(0, os.SEEK_SET) request = HttpRequest( proto=twisted_request.clientproto, host=twisted_request.getRequestHostname(), method=twisted_request.method, uri=twisted_request.uri, args=args, remote_ip=twisted_request.getClientIP(), headers=headers, body=body, body_file=twisted_request.content) request._twisted_request = twisted_request value = yield self.handler(request) code, headers, content = extract_response(value) except Exception: log_exception() code, headers, content = 500, {}, "500 Internal Server Error" try: if twisted_request._disconnected: return twisted_request.setResponseCode(code) headers.setdefault('Server', 'monocle/%s' % VERSION) grouped_headers = {} for name, value in headers.iteritems(): if name in grouped_headers: grouped_headers[name].append(value) else: grouped_headers[name] = [value] for name, value in grouped_headers.iteritems(): twisted_request.responseHeaders.setRawHeaders(name, value) twisted_request.write(content) # close connections with a 'close' header if headers.get('Connection', '').lower() == 'close': twisted_request.channel.persistent = False twisted_request.finish() except Exception: log_exception() raise
def _handler(twisted_request): try: headers = HttpHeaders() for k, vs in twisted_request.requestHeaders.getAllRawHeaders(): for v in vs: headers.add(k, v) # decode UTF-8 keys, matching tornado arg parsing behavior args = dict([(k.decode('utf-8'), v) for k, v in twisted_request.args.iteritems()]) body = None if hasattr(twisted_request.content, "getvalue"): body = twisted_request.content.getvalue() else: twisted_request.content.seek(0, os.SEEK_END) if twisted_request.content.tell() <= self.max_body_str_len: twisted_request.content.seek(0, os.SEEK_SET) body = twisted_request.content.read() twisted_request.content.seek(0, os.SEEK_SET) request = HttpRequest( proto=twisted_request.clientproto, host=twisted_request.getRequestHostname(), method=twisted_request.method, uri=twisted_request.uri, args=args, remote_ip=twisted_request.getClientIP(), headers=headers, body=body, body_file=twisted_request.content) request._twisted_request = twisted_request value = yield self.handler(request) code, headers, content = extract_response(value) except Exception: log_exception() code, headers, content = 500, {}, "500 Internal Server Error" try: if twisted_request._disconnected: return twisted_request.setResponseCode(code) headers.setdefault('Server', 'monocle/%s' % VERSION) grouped_headers = {} for name, value in headers.iteritems(): if name in grouped_headers: grouped_headers[name].append(value) else: grouped_headers[name] = [value] for name, value in grouped_headers.iteritems(): if isinstance(name, unicode): name = name.encode('ascii') if isinstance(value, unicode): value = value.encode('ascii') twisted_request.responseHeaders.setRawHeaders(name, value) twisted_request.write(content) # close connections with a 'close' header if headers.get('Connection', '').lower() == 'close': twisted_request.channel.persistent = False twisted_request.finish() except Exception: log_exception() raise