1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//! Typed error surface returned by every [`HttpTransport`] implementation.
//!
//! The [`TransportError`] enum partitions transport-layer failures into a
//! categorical `Transport` variant, a builder-time `Configuration` variant,
//! and a structured `HttpStatus` variant. Downstream telemetry, retry, and
//! backoff layers observe a uniform classification without parsing
//! free-form error strings.
//!
//! [`HttpTransport`]: super::HttpTransport
use Error;
use crate::;
/// Typed error surface returned by every
/// [`HttpTransport`](super::HttpTransport) implementation.
///
/// Transport adapters funnel every failure into this enum so downstream
/// telemetry, retry, and backoff layers observe a uniform classification
/// without parsing free-form error strings. The
/// [`Transport`](Self::Transport) variant pairs a [`TransportErrorClass`] tag
/// with a redacted detail string; the [`Configuration`](Self::Configuration)
/// variant captures builder-time or input-validation failures that happen
/// before a network request is dispatched; the
/// [`HttpStatus`](Self::HttpStatus) variant captures a non-2xx response so
/// the orderbook and subgraph layers receive the numeric status, response
/// headers, and body together without rebuilding them from free-form error
/// strings.