Коди помилок
Коди помилок
PgArachne повертає стандартні об’єкти помилок JSON-RPC 2.0. Нижче наведені специфічні коди, з якими ви можете зіткнутися:
| Код | Повідомлення | Значення |
|---|---|---|
-32700 | Parse error | Сервер отримав недійсний JSON. |
-32601 | Method not found | Функція не існує у схемі. |
-32602 | Invalid params | Аргументи не відповідають сигнатурі функції. |
-32001 | Permission denied | Поточна роль користувача не має прав на виконання функції (на рівні БД). |
-32000 | Internal Error | Загальна помилка сервера (перевірте логи). |
Поточна поведінка: відповіді runtime здебільшого мапляться на HTTP статус-коди з полем JSON-RPC
message. Власний код JSON-RPC -32001 використовується для відмови через роль/права доступу.Відповідність HTTP статусів
| HTTP | Типове повідомлення | Коли виникає |
|---|---|---|
400 | Invalid JSON request/Invalid function name | Некоректний payload запиту або формат методу. |
401 | Authorization header is missing/Invalid or expired token | Відсутня або недійсна автентифікація. |
403 | Permission denied for the specified role | Не вдалося виконати SET LOCAL ROLE (-32001). |
404 | Function does not exist/JWT is disabled/get_jwt was removed | Цільовий метод відсутній (-32601), /token викликано, коли JWT_SECRET не налаштовано, або викликано видалений метод JSON-RPC get_jwt (використовуйте POST /{prefix}/{database}/token). |
429 | Too many login attempts/Too many failed authentication attempts | Перевищено ліміт спроб входу або автентифікації (LOGIN_RATE_LIMIT, LOGIN_RATE_LIMIT_PER_IP). |
413 | Request body too large/Response too large/Too many files in response | Запит перевищує MAX_REQUEST_BYTES, або відповідь /file перевищує FILE_MAX_BYTES / FILE_MAX_ENTRIES. |
500 | Function call failed/Transaction commit failed | Помилка виконання або commit. |
503 | Database connection failed/Database unavailable | Тимчасова недоступність бази даних або listener. |