63 lines
2.6 KiB
Python
63 lines
2.6 KiB
Python
from flask import request, session
|
|
import time
|
|
from flask_security import current_user
|
|
|
|
|
|
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.before_request
|
|
# def log_user_info():
|
|
# if current_user and current_user.is_authenticated:
|
|
# app.logger.debug(f"Before: User ID: {current_user.id}")
|
|
# app.logger.debug(f"Before: User Email: {current_user.email}")
|
|
# app.logger.debug(f"Before: User Roles: {current_user.roles}")
|
|
# else:
|
|
# app.logger.debug("After: No user logged in")
|
|
|
|
@app.before_request
|
|
def log_session_state_before():
|
|
app.logger.debug(f'Session state before request: {session.items()}')
|
|
|
|
# @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
|
|
|
|
# @app.after_request
|
|
# def log_user_after_request(response):
|
|
# if current_user and current_user.is_authenticated:
|
|
# app.logger.debug(f"After: User ID: {current_user.id}")
|
|
# app.logger.debug(f"after: User Email: {current_user.email}")
|
|
# app.logger.debug(f"After: User Roles: {current_user.roles}")
|
|
# else:
|
|
# app.logger.debug("After: No user logged in")
|
|
|
|
@app.after_request
|
|
def log_session_state_after(response):
|
|
app.logger.debug(f'Session state after request: {session.items()}')
|
|
return response
|