pub struct UnifiedMiddleware {
pub allowed_origins: AllowedOrigins,
pub rate_limiters: RateLimiters,
pub max_requests: usize,
pub window_duration: Duration,
pub intercept_dependencies: InterceptFunction,
pub condition: ConditionFunction,
}
Fields§
§allowed_origins: AllowedOrigins
§rate_limiters: RateLimiters
§max_requests: usize
§window_duration: Duration
§intercept_dependencies: InterceptFunction
§condition: ConditionFunction
Implementations§
Source§impl UnifiedMiddleware
impl UnifiedMiddleware
Sourcepub fn new(
allowed_origins: String,
rate_limiters: RateLimiters,
max_requests: usize,
window_duration: Duration,
intercept_dependencies: InterceptFunction,
condition: OptionalConditionFunction,
) -> Self
pub fn new( allowed_origins: String, rate_limiters: RateLimiters, max_requests: usize, window_duration: Duration, intercept_dependencies: InterceptFunction, condition: OptionalConditionFunction, ) -> Self
Creates a new middleware with complete and flexible configuration.
§arguments
- `Allowed_origins’ - Authorized Kid Origins, separated by commas (ex:“ http: //example.com,http: // Localhost: 3000 “)
rate_limiters
- Storage of rate limiters by IP- `Max_requests’ - Maximum number of requests authorized in the time window
Window_Duration
- Duration of the window for the rate limiter- `intercept_dependencies’ - function that determines if the request must be intercepted
- `Condition ’ - Additional condition to apply the middleware
Sourcepub fn simple(
allowed_origins: Vec<String>,
max_requests: usize,
window_duration: Duration,
) -> Self
pub fn simple( allowed_origins: Vec<String>, max_requests: usize, window_duration: Duration, ) -> Self
Simplified version for current use cases.
This function automatically initializes data and functions structures necessary with reasonable default values.
§arguments
Allowed_origins
- List of authorized Cors- `Max_requests’ - Maximum number of requests authorized in the time window
Window_Duration
- Duration of the window for the rate limiter
Trait Implementations§
Source§impl Debug for UnifiedMiddleware
impl Debug for UnifiedMiddleware
Source§impl<S, B> Transform<S, ServiceRequest> for UnifiedMiddlewarewhere
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
B: 'static,
impl<S, B> Transform<S, ServiceRequest> for UnifiedMiddlewarewhere
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
B: 'static,
Source§type Response = ServiceResponse<B>
type Response = ServiceResponse<B>
Responses produced by the service.
Source§type Transform = UnifiedMiddlewareService<S>
type Transform = UnifiedMiddlewareService<S>
The
TransformService
value created by this factorySource§type Future = Ready<Result<<UnifiedMiddleware as Transform<S, ServiceRequest>>::Transform, <UnifiedMiddleware as Transform<S, ServiceRequest>>::InitError>>
type Future = Ready<Result<<UnifiedMiddleware as Transform<S, ServiceRequest>>::Transform, <UnifiedMiddleware as Transform<S, ServiceRequest>>::InitError>>
The future response value.
Source§fn new_transform(&self, service: S) -> Self::Future
fn new_transform(&self, service: S) -> Self::Future
Creates and returns a new Transform component, asynchronously
Auto Trait Implementations§
impl Freeze for UnifiedMiddleware
impl !RefUnwindSafe for UnifiedMiddleware
impl !Send for UnifiedMiddleware
impl !Sync for UnifiedMiddleware
impl Unpin for UnifiedMiddleware
impl !UnwindSafe for UnifiedMiddleware
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