feat: add comprehensive logging for API requests and responses
This commit is contained in:
parent
ed86ad63b1
commit
e64d1f8346
Binary file not shown.
@ -248,6 +248,9 @@ class KworkClient:
|
||||
"l_remember_me": "1",
|
||||
}
|
||||
|
||||
logger.info(f"Login request: POST https://kwork.ru/api/user/login (user: {username})")
|
||||
logger.debug(f"Login payload: {login_data}")
|
||||
|
||||
response = await http_client.post(
|
||||
"https://kwork.ru/api/user/login",
|
||||
json=login_data,
|
||||
@ -261,12 +264,20 @@ class KworkClient:
|
||||
},
|
||||
)
|
||||
|
||||
logger.debug(f"Login response status: {response.status_code}")
|
||||
logger.debug(f"Login response headers: {dict(response.headers)}")
|
||||
|
||||
if response.status_code != 200:
|
||||
logger.error(f"Login failed with status {response.status_code}: {response.text[:200]}")
|
||||
raise KworkAuthError(f"Login failed: {response.status_code}")
|
||||
|
||||
response_data = response.json()
|
||||
cookies = dict(response.cookies)
|
||||
|
||||
logger.info(f"Login successful: user_id={cookies.get('userId')}, csrf_token={response_data.get('csrftoken', 'N/A')[:20] if response_data.get('csrftoken') else 'N/A'}")
|
||||
logger.debug(f"Login response data: {response_data}")
|
||||
logger.debug(f"Login cookies: {list(cookies.keys())}")
|
||||
|
||||
# Debug: print response for troubleshooting
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -405,10 +416,31 @@ class KworkClient:
|
||||
"""
|
||||
http_client = self._get_httpx_client()
|
||||
|
||||
# Log request
|
||||
full_url = f"{self.base_url}{endpoint}" if not endpoint.startswith("http") else endpoint
|
||||
logger.debug(f"API Request: {method} {full_url}")
|
||||
logger.debug(f"Request kwargs: {kwargs}")
|
||||
|
||||
try:
|
||||
response = await http_client.request(method, endpoint, **kwargs)
|
||||
|
||||
# Log response
|
||||
logger.debug(f"API Response: {response.status_code} {response.reason_phrase}")
|
||||
logger.debug(f"Response headers: {dict(response.headers)}")
|
||||
|
||||
# Log response body (truncated for large responses)
|
||||
try:
|
||||
response_text = response.text
|
||||
if len(response_text) > 500:
|
||||
logger.debug(f"Response body (truncated): {response_text[:500]}...")
|
||||
else:
|
||||
logger.debug(f"Response body: {response_text}")
|
||||
except Exception:
|
||||
logger.debug("Response body: <not available>")
|
||||
|
||||
return self._handle_response(response)
|
||||
except httpx.RequestError as e:
|
||||
logger.error(f"Network error for {method} {full_url}: {e}")
|
||||
raise KworkNetworkError(f"Request failed: {e}") from e
|
||||
|
||||
# ========== Catalog Endpoints ==========
|
||||
|
||||
Loading…
Reference in New Issue
Block a user