Chybové kódy
Chybové kódy
PgArachne vrací standardní chybové objekty JSON-RPC 2.0. Níže jsou uvedeny specifické kódy, se kterými se můžete setkat:
| Kód | Zpráva | Význam |
|---|---|---|
-32700 | Parse error | Server obdržel neplatný JSON. |
-32601 | Method not found | Funkce ve schématu neexistuje. |
-32602 | Invalid params | Argumenty neodpovídají signatuře funkce. |
-32001 | Permission denied | Role aktuálního uživatele nemá oprávnění k provedení funkce (na úrovni DB). |
-32000 | Internal Error | Obecná chyba serveru (zkontrolujte logy). |
Aktuální chování: odpovědi runtime jsou primárně mapované na HTTP statusy s JSON-RPC polem
message. Vlastní JSON-RPC kód -32001 se používá při odmítnutí role/oprávnění.Mapování HTTP stavů
| HTTP | Typická zpráva | Kdy nastává |
|---|---|---|
400 | Invalid JSON request/Invalid function name | Neplatný payload nebo formát metody. |
401 | Authorization header is missing/Invalid or expired token | Chybějící nebo neplatná autentizace. |
403 | Permission denied for the specified role | Selhalo SET LOCAL ROLE (-32001). |
404 | Function does not exist/JWT is disabled/get_jwt was removed | Volaná metoda neexistuje (-32601), /token bylo voláno bez nastaveného JWT_SECRET, nebo byla volána odstraněná metoda JSON-RPC get_jwt (použijte POST /{prefix}/{database}/token). |
429 | Too many login attempts/Too many failed authentication attempts | Překročen limit pokusů o přihlášení nebo autentizaci (LOGIN_RATE_LIMIT, LOGIN_RATE_LIMIT_PER_IP). |
413 | Request body too large/Response too large/Too many files in response | Požadavek překračuje MAX_REQUEST_BYTES, nebo odpověď /file překračuje FILE_MAX_BYTES / FILE_MAX_ENTRIES. |
500 | Function call failed/Transaction commit failed | Selhalo provedení nebo commit. |
503 | Database connection failed/Database unavailable | Databáze nebo listener dočasně nedostupné. |