|
NeoGraph 0.10.0
A C++17 Graph Agent Engine Library — LangGraph for C++
|
Error taxonomy for async HTTP — retryable vs permanent. More...
#include <asio/error.hpp>#include <asio/ssl/error.hpp>#include <openssl/err.h>#include <openssl/ssl.h>#include <cerrno>#include <exception>#include <stdexcept>#include <string>#include <system_error>Go to the source code of this file.
Classes | |
| struct | neograph::async::HttpError |
| Structured exception. More... | |
Enumerations | |
| enum class | neograph::async::HttpErrorKind { ConnectRefused , ConnectTimeout , DnsTemporary , ReadTimeout , WriteTimeout , PeerReset , PeerEofEarly , TlsHandshakeReset , ServerError , TooManyRequests , DnsPermanent , TlsVerifyFailed , ProtocolError , RequestTooLarge , PayloadInvalid , Unknown } |
Functions | |
| HttpErrorKind | neograph::async::classify_asio_error (const asio::error_code &ec) noexcept |
| Classify an asio error_code — the kind returned inside asio::system_error::code() from any connect/read/write/handshake op. | |
| constexpr HttpErrorKind | neograph::async::classify_http_status (int status) noexcept |
| Classify an HTTP status code on its own. | |
| constexpr bool | neograph::async::is_retryable (HttpErrorKind k) noexcept |
| True if transparent retry on a different connection may succeed. | |
Error taxonomy for async HTTP — retryable vs permanent.
Stage 3 / Semester 1.3 — classifies the error_codes that surface from asio::system_error (and OpenSSL) during async HTTP work into a small enum, plus a single is_retryable() predicate. Higher layers (Provider, MCPClient, future Engine retry) use this instead of each reinventing "which errno means try again".
Scope bounds:
Definition in file http_errors.h.
|
strong |
Definition at line 37 of file http_errors.h.
|
inlinenoexcept |
Classify an asio error_code — the kind returned inside asio::system_error::code() from any connect/read/write/handshake op.
Unknown category or unknown value returns HttpErrorKind::Unknown.
Definition at line 93 of file http_errors.h.
References neograph::async::classify_asio_error().
Referenced by neograph::async::classify_asio_error().
|
constexprnoexcept |
Classify an HTTP status code on its own.
2xx/3xx don't surface as errors through this path (success, or a redirect the client transparently follows), so they map to Unknown.
Definition at line 154 of file http_errors.h.
References neograph::async::classify_http_status().
Referenced by neograph::async::classify_http_status().
|
constexprnoexcept |
True if transparent retry on a different connection may succeed.
Pure function — safe to call during exception unwinding.
Definition at line 66 of file http_errors.h.
References neograph::async::is_retryable().
Referenced by neograph::async::is_retryable().