Update app.py
Browse files
app.py
CHANGED
@@ -14,18 +14,22 @@ class LogRequestMiddleware(BaseHTTPMiddleware):
|
|
14 |
# Captura o início da requisição
|
15 |
start_time = time.time()
|
16 |
|
|
|
|
|
|
|
|
|
|
|
17 |
# Realiza a requisição
|
18 |
response = await call_next(request)
|
19 |
|
20 |
# Dados da requisição
|
21 |
-
ip = request.client.host # IP de origem
|
22 |
method = request.method # Método HTTP
|
23 |
path = request.url.path # Caminho da URL
|
24 |
status_code = response.status_code # Código de status da resposta
|
25 |
process_time = time.time() - start_time # Tempo de processamento
|
26 |
|
27 |
# Log detalhado
|
28 |
-
logger.info(f"Request: {method} {path} from {
|
29 |
|
30 |
return response
|
31 |
|
|
|
14 |
# Captura o início da requisição
|
15 |
start_time = time.time()
|
16 |
|
17 |
+
# Verificar o IP do cliente no cabeçalho X-Forwarded-For
|
18 |
+
client_ip = request.headers.get("X-Forwarded-For")
|
19 |
+
if not client_ip:
|
20 |
+
client_ip = request.client.host # Se não houver X-Forwarded-For, usa o IP direto
|
21 |
+
|
22 |
# Realiza a requisição
|
23 |
response = await call_next(request)
|
24 |
|
25 |
# Dados da requisição
|
|
|
26 |
method = request.method # Método HTTP
|
27 |
path = request.url.path # Caminho da URL
|
28 |
status_code = response.status_code # Código de status da resposta
|
29 |
process_time = time.time() - start_time # Tempo de processamento
|
30 |
|
31 |
# Log detalhado
|
32 |
+
logger.info(f"Request: {method} {path} from {client_ip} - Status: {status_code} - Process Time: {process_time:.4f} seconds")
|
33 |
|
34 |
return response
|
35 |
|