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 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 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()