from flask import request import time def log_request_middleware(app): @app.before_request def log_request_info(): start_time = time.time() app.logger.debug(f"Request URL: {request.url}") app.logger.debug(f"Request Method: {request.method}") app.logger.debug(f"Request Headers: {request.headers}") app.logger.debug(f"Time taken for logging request info: {time.time() - start_time} seconds") try: app.logger.debug(f"Request Body: {request.get_data()}") except Exception as e: app.logger.error(f"Error reading request body: {e}") app.logger.debug(f"Time taken for logging request body: {time.time() - start_time} seconds") @app.before_request def check_csrf_token(): start_time = time.time() if request.method == "POST": csrf_token = request.form.get("csrf_token") app.logger.debug(f"CSRF Token: {csrf_token}") app.logger.debug(f"Time taken for logging CSRF token: {time.time() - start_time} seconds") @app.after_request def log_response_info(response): start_time = time.time() app.logger.debug(f"Response Status: {response.status}") app.logger.debug(f"Response Headers: {response.headers}") app.logger.debug(f"Time taken for logging response info: {time.time() - start_time} seconds") return response