1#![deny(unsafe_code)]
18#![warn(missing_docs)]
19
20mod errors;
21mod traits;
22pub mod types;
23
24pub use errors::{
25 DialectError, ObservabilityError, RouteError, RuntimeError, SignerError, UpstreamError,
26};
27#[allow(deprecated)]
28pub use traits::RouterPlugin;
29pub use traits::{
30 ApiKeyAwareSignerFactory, FilterError, FilterOutput, FilterPlugin, ObservabilityHook,
31 PluginRuntime, Signer, SignerFactory, UpstreamDialect,
32};
33pub use types::{
34 CredentialStrategy, InternalError, InternalErrorKind, InternalErrorStage, ObserveEvent,
35 PerCandidateReason, PluginManifest, PluginSlot, Principal, PrincipalKind, PrincipalQuotas,
36 RateLimitKind, RateLimitObservation, RequestContext, RetryDecision, RouteDecision,
37 RoutingTrace, ShapedRequest, ShapedRequestBuilder, SignedRequest, SigningCapability,
38 SubscriptionQuotaCandidateSnapshot, SubscriptionQuotaDataState, TerminalStrategy, Upstream,
39 UpstreamCandidate, UpstreamKind, shape_request, sign_request,
40};
41
42pub const BUILTIN_CACHE_AFFINITY_ID: uuid::Uuid = uuid::Uuid::from_u128(1);
44
45pub const BUILTIN_CACHE_AFFINITY_NAME: &str = "cache-affinity";
47
48pub const BUILTIN_CACHE_AFFINITY_WIRE_VERSION: u8 = 3;
50
51mod private {
52 #[derive(Clone, Copy, Debug, Eq, PartialEq)]
53 pub(crate) struct Seal;
54}