pub struct HttpServerState {
pub routes: Vec<RouteInfo>,
pub rate_limiter: Option<Arc<GlobalRateLimiter>>,
pub production_headers: Option<Arc<HashMap<String, String>>>,
}Expand description
Shared state for tracking OpenAPI routes
Fields§
§routes: Vec<RouteInfo>List of registered routes from OpenAPI spec
rate_limiter: Option<Arc<GlobalRateLimiter>>Optional global rate limiter for request throttling
production_headers: Option<Arc<HashMap<String, String>>>Production headers to add to all responses (for deceptive deploy)
Implementations§
Source§impl HttpServerState
impl HttpServerState
Sourcepub fn with_routes(routes: Vec<RouteInfo>) -> Self
pub fn with_routes(routes: Vec<RouteInfo>) -> Self
Create HTTP server state with pre-configured routes
Sourcepub fn with_rate_limiter(self, rate_limiter: Arc<GlobalRateLimiter>) -> Self
pub fn with_rate_limiter(self, rate_limiter: Arc<GlobalRateLimiter>) -> Self
Add a rate limiter to the HTTP server state
Trait Implementations§
Source§impl Clone for HttpServerState
impl Clone for HttpServerState
Source§fn clone(&self) -> HttpServerState
fn clone(&self) -> HttpServerState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for HttpServerState
impl RefUnwindSafe for HttpServerState
impl Send for HttpServerState
impl Sync for HttpServerState
impl Unpin for HttpServerState
impl UnwindSafe for HttpServerState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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::Request