pub struct RouterSharedState {
pub validation_plan: ValidationPlan,
pub parse_cache: Cache<u64, ParseCacheEntry>,
pub router_config: Arc<HiveRouterConfig>,
pub headers_plan: HeaderRulesPlan,
pub override_labels_evaluator: OverrideLabelsEvaluator,
pub cors_runtime: Option<Cors>,
pub jwt_claims_cache: Cache<String, Arc<TokenData<JwtClaims>>>,
pub jwt_auth_runtime: Option<JwtAuthRuntime>,
pub hive_usage_agent: Option<UsageAgent>,
pub introspection_policy: BooleanOrProgram,
pub telemetry_context: Arc<TelemetryContext>,
}Fields§
§validation_plan: ValidationPlan§parse_cache: Cache<u64, ParseCacheEntry>§router_config: Arc<HiveRouterConfig>§headers_plan: HeaderRulesPlan§override_labels_evaluator: OverrideLabelsEvaluator§cors_runtime: Option<Cors>§jwt_claims_cache: Cache<String, Arc<TokenData<JwtClaims>>>Cache for validated JWT claims to avoid re-parsing on every request.
The cache key is the raw JWT token string.
Stores the parsed claims payload for 5s,
but no longer than exp date.
jwt_auth_runtime: Option<JwtAuthRuntime>§hive_usage_agent: Option<UsageAgent>§introspection_policy: BooleanOrProgram§telemetry_context: Arc<TelemetryContext>Implementations§
pub fn new( router_config: Arc<HiveRouterConfig>, jwt_auth_runtime: Option<JwtAuthRuntime>, hive_usage_agent: Option<UsageAgent>, validation_plan: ValidationPlan, telemetry_context: Arc<TelemetryContext>, ) -> Result<Self, SharedStateError>
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.