glean/middleware
Types
Middleware that can intercept and transform provider calls.
pub type Middleware {
Middleware(
transform_request: option.Option(
fn(provider.GenerateRequest) -> provider.GenerateRequest,
),
transform_result: option.Option(
fn(provider.GenerateResult) -> provider.GenerateResult,
),
)
}
Constructors
-
Middleware( transform_request: option.Option( fn(provider.GenerateRequest) -> provider.GenerateRequest, ), transform_result: option.Option( fn(provider.GenerateResult) -> provider.GenerateResult, ), )Arguments
- transform_request
-
Transform the request before it’s sent to the provider
- transform_result
-
Transform the result after it’s returned from the provider
Values
pub fn apply(
provider: provider.Provider,
middleware: Middleware,
) -> provider.Provider
Wrap a provider with middleware, producing a new provider.
pub fn chain(middlewares: List(Middleware)) -> Middleware
Chain multiple middlewares into one. Applied left-to-right: first middleware’s request transform runs first, last middleware’s result transform runs last.
pub fn request_middleware(
transform: fn(provider.GenerateRequest) -> provider.GenerateRequest,
) -> Middleware
Create a middleware that only transforms requests.
pub fn result_middleware(
transform: fn(provider.GenerateResult) -> provider.GenerateResult,
) -> Middleware
Create a middleware that only transforms results.