Helper function to make API requests
(method: str, endpoint: str, data: Optional[dict[str, Any]] = None)
| 22 | |
| 23 | |
| 24 | def make_request(method: str, endpoint: str, data: Optional[dict[str, Any]] = None) -> requests.Response: |
| 25 | """Helper function to make API requests""" |
| 26 | url = f"{API_BASE_URL}{endpoint}" |
| 27 | try: |
| 28 | response = requests.request(method=method, url=url, headers=HEADERS, json=data) |
| 29 | response.raise_for_status() |
| 30 | return response |
| 31 | except requests.exceptions.RequestException as e: |
| 32 | print(f"\nRequest failed: {method} {url}") |
| 33 | if hasattr(e, "response") and e.response is not None: |
| 34 | print(f"Status code: {e.response.status_code}") |
| 35 | try: |
| 36 | error_detail = e.response.json() if e.response is not None else str(e) |
| 37 | print(f"Error details: {json.dumps(error_detail, indent=2)}") |
| 38 | except json.JSONDecodeError: |
| 39 | print(f"Raw error response: {e.response.text}") |
| 40 | else: |
| 41 | print("Status code: N/A") |
| 42 | print(f"Error details: {str(e)}") |
| 43 | raise |
| 44 | |
| 45 | |
| 46 | def list_sessions() -> None: |
no test coverage detected