الملفات
GitPasha-MCP-Server/helpers/http_client.py

34 أسطر
892 B
Python

import httpx
from helpers.logger import log
def log_request(req: httpx.Request):
safe_headers = {
k: ("<hidden>" if k.lower() == "authorization" else v)
for k, v in req.headers.items()
}
log.info(f"=> {req.method} {req.url}")
log.debug(f"Headers: {safe_headers}")
try:
log.debug(f"Body: {req.content.decode()[:1000]}")
except Exception:
pass
def log_response(res: httpx.Response):
log.info(f"<= {res.status_code} {res.request.method} {res.request.url}")
try:
if res.status_code >= 400:
content = res.read()
log.debug(f"Response: {content.decode()[:2000]}")
except Exception:
pass
def build_client() -> httpx.Client:
return httpx.Client(
follow_redirects=False,
timeout=120.0,
event_hooks={"request": [log_request], "response": [log_response]},
)