pub struct GoProxyChain {
pub key: String,
pub hops: Vec<GoProxyHop>,
pub separators: Vec<ChainSeparator>,
}Expand description
One fully-resolved, ready-to-register GOPROXY chain — produced by
GoEnvConfig::goproxy_chain, consumed by GoRegistry::register_chain.
Fields§
§key: StringOpaque, composite identity — becomes both the router’s alternates map key and the
DependencySource::AlternateRegistry.index value. A hashed token produced by
deps_core::hash_routing_key ("go-proxy") over the ordered hop values, mirroring
deps_pypi::config::ResolvedChain::key’s “opaque routing key” widening of
AlternateRegistry.index’s contract.
hops: Vec<GoProxyHop>Ordered, already-validated hops (FR-002/FR-005 declaration order preserved). Never
empty — see GoEnvConfig::goproxy_chain’s zero-hop handling. Truncated after the
first GoProxyHop::Direct/GoProxyHop::Off entry: both are terminal by
definition (FR-004/FR-006), so any hop declared after one is unreachable and dropped
at parse time rather than carried into the registered chain.
separators: Vec<ChainSeparator>separators[i] is the fallback rule governing the transition from hops[i] to
hops[i + 1] (spec 034 S2) — hops.len().saturating_sub(1) entries when produced by
parse_goproxy. A shorter (or empty, Default) vector — every hand-constructed test
chain, and the single-hop GOPRIVATE-bypass chain — defaults every unspecified
transition to ChainSeparator::NotFoundOnly, preserving this feature’s original
(comma-only) behavior.
Trait Implementations§
Source§impl Clone for GoProxyChain
impl Clone for GoProxyChain
Source§fn clone(&self) -> GoProxyChain
fn clone(&self) -> GoProxyChain
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more