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

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.

✨ Search Document