Prepare app for working behind a proxy (nginx).
Adapt user form
This commit is contained in:
34
common/utils/debug_utils.py
Normal file
34
common/utils/debug_utils.py
Normal file
@@ -0,0 +1,34 @@
|
||||
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
|
||||
7
common/utils/nginx_utils.py
Normal file
7
common/utils/nginx_utils.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from flask import current_app, request, url_for
|
||||
|
||||
|
||||
def prefixed_url_for(endpoint, **values):
|
||||
prefix = request.headers.get('X-Forwarded-Prefix', '')
|
||||
current_app.logger.debug(f'prefix: {prefix}')
|
||||
return prefix + url_for(endpoint, **values)
|
||||
Reference in New Issue
Block a user