def send( cls, logger: HttpLogger, request, response, response_body: Optional[str] = None, request_body: Optional[str] = None, now=None, interval=None, ) -> None: # TODO: missing type hints if not logger.enabled: return # copy details from request & response message: List[List[str]] = cls.build(request, response, response_body, request_body) # copy details from active session if logger.rules.copy_session_field: session_dict = logger.conn.__dict__ if session_dict: for r in logger.rules.copy_session_field: for d0 in session_dict: if match(r.param1, d0): d1 = session_dict[d0] if d0 == "cookies": d1 = d1.get_dict() if isinstance(d1, dict): d1 = {k: v for k, v in d1.items() if v} message.append( [f"session_field:{d0.lower()}", str(d1)]) # add timing details message.append([ "now", str(now) if now is not None else str(round(time() * 1000)) ]) if interval is not None: message.append(["interval", interval]) logger.submit_if_passing(message)
def send(cls, logger: HttpLogger, request, response, response_body: Optional[str] = None, request_body: Optional[str] = None, now=None, interval=None) -> None: # todo missing type hints if not logger.enabled: return # copy details from request & resonse message = cls.build(request, response, response_body, request_body) # todo copy details from active session # add timing details message.append([ 'now', str(now) if now is not None else str(round(time() * 1000)) ]) if interval is not None: message.append(['interval', interval]) logger.submit_if_passing(message)