wacht::Result<T> (Result<T, wacht::Error>).
The error type is designed to separate:
- transport/runtime failures (
Request,Json,Io) - backend HTTP failures (
Api { status, message, details }) - SDK usage/config failures (
Config,Auth,InvalidRequest,Uninitialized)
Error Variants
Inspecting Status Codes
Error::status_code() returns a reqwest::StatusCode only for Error::Api.
Retry-Aware Handling
UseError::is_retryable() to decide if retry logic should run.
Authentication-Aware Handling
UseError::is_authentication_error() to branch on authn/authz failures (401, 403, or Error::Auth).
SDK Initialization Errors
If you use global helpers without callinginit(...), the SDK returns Error::Uninitialized.
Notes
Error::Apiincludes parsed JSON indetailswhen response body is valid JSON.- Internal SDK API failures are normalized through
Error::api_from_text(...)to keep message and details formatting consistent. - Prefer checking helper methods (
status_code,is_retryable,is_authentication_error) over ad-hoc string parsing.
