def error_response( self, formatter: Formatter, status_code: bytes, status_phrase: bytes, message: str, log_message: str = None, ) -> None: """Send an error response.""" if self.timeout: self.timeout.delete() self.timeout = None self.exchange.response_start( status_code, status_phrase, [ (b"Content-Type", formatter.content_type()), (b"Cache-Control", b"max-age=60, must-revalidate"), ], ) formatter.start_output() formatter.error_output(message) self.exchange.response_done([]) if log_message: self.error_log(log_message)
def continue_test(self, top_resource: HttpResource, formatter: Formatter) -> None: "Preliminary checks are done; actually run the test." @thor.events.on(formatter) def formatter_done() -> None: self.response_done([]) if self.test_id: try: tmp_file = gzip.open(self.save_path, 'w') pickle.dump(top_resource, tmp_file) tmp_file.close() except (IOError, zlib.error, pickle.PickleError): pass # we don't cry if we can't store it. # log excessive traffic ti = sum([i.transfer_in for i, t in top_resource.linked], top_resource.transfer_in) to = sum([i.transfer_out for i, t in top_resource.linked], top_resource.transfer_out) if ti + to > int(self.config['log_traffic']) * 1024: self.error_log("%iK in %iK out for <%s> (descend %s)" % ( ti / 1024, to / 1024, e_url(self.test_uri), str(self.descend))) self.response_start(b"200", b"OK", [ (b"Content-Type", formatter.content_type()), (b"Cache-Control", b"max-age=60, must-revalidate")]) if self.check_name: display_resource = top_resource.subreqs.get(self.check_name, top_resource) else: display_resource = top_resource formatter.bind_resource(display_resource) top_resource.check()
def __init__(self, *args: Any, **kw: Any) -> None: Formatter.__init__(self, *args, **kw) self.templates = Environment( loader=PackageLoader("redbot.formatter"), trim_blocks=True, autoescape=select_autoescape( enabled_extensions=("html", "xml"), default_for_string=True, ), ) self.templates.filters.update( { "f_num": f_num, "relative_time": relative_time, "redbot_link": self.redbot_link, } ) self.templates.globals.update( { "formatter": self, "version": __version__, "baseuri": self.config["ui_uri"], "static": self.config["static_root"], "hcaptcha": self.config.get("hcaptcha_sitekey", "") != "" and self.config.get("hcaptcha_secret", "") != "", } ) self.start = thor.time()
def __init__(self, *args: Any, **kw: Any) -> None: Formatter.__init__(self, *args, **kw) self.har = { "log": { "version": "1.1", "creator": {"name": "REDbot", "version": __version__}, "browser": {"name": "REDbot", "version": __version__}, "pages": [], "entries": [], } } self.last_id = 0
def continue_test( self, top_resource: HttpResource, formatter: Formatter, extra_headers: RawHeaderListType = [], ) -> None: "Preliminary checks are done; actually run the test." @thor.events.on(formatter) def formatter_done() -> None: if self.timeout: self.timeout.delete() self.timeout = None self.exchange.response_done([]) save_test(self, top_resource) # log excessive traffic ti = sum( [i.transfer_in for i, t in top_resource.linked], top_resource.transfer_in, ) to = sum( [i.transfer_out for i, t in top_resource.linked], top_resource.transfer_out, ) if ti + to > int(self.config["log_traffic"]) * 1024: self.error_log( f"{ti / 1024:n}K in {to / 1024:n}K out for <{e_url(self.test_uri)}> (descend {self.descend})" ) self.exchange.response_start( b"200", b"OK", [ (b"Content-Type", formatter.content_type()), (b"Cache-Control", b"max-age=60, must-revalidate"), ] + extra_headers, ) if self.check_name: display_resource = top_resource.subreqs.get( self.check_name, top_resource) else: display_resource = top_resource formatter.bind_resource(display_resource) top_resource.check()
def __init__(self, *args, **kw): Formatter.__init__(self, *args, **kw) self.har = { 'log': { "version": "1.1", "creator": { "name": "REDbot", "version": droid.__version__, }, "browser": { "name": "REDbot", "version": droid.__version__, }, "pages": [], "entries": [], }, } self.last_id = 0
def continue_test(self, top_resource: HttpResource, formatter: Formatter) -> None: "Preliminary checks are done; actually run the test." @thor.events.on(formatter) def formatter_done() -> None: self.response_done([]) if self.test_id: try: tmp_file = gzip.open(self.save_path, "w") pickle.dump(top_resource, tmp_file) tmp_file.close() except (IOError, zlib.error, pickle.PickleError): pass # we don't cry if we can't store it. # log excessive traffic ti = sum( [i.transfer_in for i, t in top_resource.linked], top_resource.transfer_in, ) to = sum( [i.transfer_out for i, t in top_resource.linked], top_resource.transfer_out, ) if ti + to > int(self.config["log_traffic"]) * 1024: self.error_log("%iK in %iK out for <%s> (descend %s)" % (ti / 1024, to / 1024, e_url( self.test_uri), str(self.descend))) self.response_start( b"200", b"OK", [ (b"Content-Type", formatter.content_type()), (b"Cache-Control", b"max-age=60, must-revalidate"), ], ) if self.check_name: display_resource = top_resource.subreqs.get( self.check_name, top_resource) else: display_resource = top_resource formatter.bind_resource(display_resource) top_resource.check()
def __init__(self, *args: Any, **kw: Any) -> None: Formatter.__init__(self, *args, **kw) self.verbose = False
def __init__(self, *args: Any, **kw: Any) -> None: Formatter.__init__(self, *args, **kw) self.hidden_text = [] # type: List[Tuple[str, str]] self.start = thor.time()
def __init__(self, *args, **kw): Formatter.__init__(self, *args, **kw) self.hidden_text = [] self.start = thor.time()
def __init__(self, *args, **kw): Formatter.__init__(self, *args, **kw)
def __init__(self, *args, **kw): Formatter.__init__(self, *args, **kw) self.hidden_text = [] self.start = nbhttp.now()
def __init__(self, *args: Any, **kw: Any) -> None: Formatter.__init__(self, *args, **kw)
def __init__(self, *args, **kw): Formatter.__init__(self, *args, **kw) self.verbose = False