habulaj commited on
Commit
467db69
·
verified ·
1 Parent(s): b871975

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -35
app.py CHANGED
@@ -1,44 +1,9 @@
1
- import logging
2
  from fastapi import FastAPI, Request
3
  from routers import profanity, other_route # Importa as rotas
4
- from starlette.middleware.base import BaseHTTPMiddleware
5
- import time
6
-
7
- # Configuração do logging
8
- logging.basicConfig(level=logging.INFO)
9
- logger = logging.getLogger(__name__)
10
-
11
- # Criação do middleware personalizado para log
12
- class LogRequestMiddleware(BaseHTTPMiddleware):
13
- async def dispatch(self, request: Request, call_next):
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
 
36
  # Instancia a aplicação FastAPI
37
  app = FastAPI()
38
 
39
- # Adiciona o middleware
40
- app.add_middleware(LogRequestMiddleware)
41
-
42
  @app.get("/")
43
  def greet_json():
44
  return {"Hello": "World!"}
 
 
1
  from fastapi import FastAPI, Request
2
  from routers import profanity, other_route # Importa as rotas
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
  # Instancia a aplicação FastAPI
5
  app = FastAPI()
6
 
 
 
 
7
  @app.get("/")
8
  def greet_json():
9
  return {"Hello": "World!"}