pub trait ImageModelMiddleware:
Send
+ Sync
+ 'static {
// Provided methods
fn transform_params<'a>(
&'a self,
options: ImageOptions,
_ctx: ImageMiddlewareContext<'a>,
) -> BoxFuture<'a, Result<ImageOptions, ProviderError>> { ... }
fn wrap_generate<'a>(
&'a self,
options: ImageOptions,
next: ImageGenerateNext<'a>,
_ctx: ImageMiddlewareContext<'a>,
) -> BoxFuture<'a, Result<ImageResult, ProviderError>> { ... }
fn override_provider(
&self,
_model: &dyn DynImageModel,
) -> Option<ProviderId> { ... }
fn override_model_id(&self, _model: &dyn DynImageModel) -> Option<ModelId> { ... }
fn max_images_per_call(&self, model: &dyn DynImageModel) -> Option<usize> { ... }
}Expand description
Intercepts image model calls. Every method has a pass-through default.
max_images_per_call receives the wrapped
model and returns the value the wrapper reports; its default forwards the
inner model’s value.
Provided Methods§
Sourcefn transform_params<'a>(
&'a self,
options: ImageOptions,
_ctx: ImageMiddlewareContext<'a>,
) -> BoxFuture<'a, Result<ImageOptions, ProviderError>>
fn transform_params<'a>( &'a self, options: ImageOptions, _ctx: ImageMiddlewareContext<'a>, ) -> BoxFuture<'a, Result<ImageOptions, ProviderError>>
Rewrites the image options before the call.
Sourcefn wrap_generate<'a>(
&'a self,
options: ImageOptions,
next: ImageGenerateNext<'a>,
_ctx: ImageMiddlewareContext<'a>,
) -> BoxFuture<'a, Result<ImageResult, ProviderError>>
fn wrap_generate<'a>( &'a self, options: ImageOptions, next: ImageGenerateNext<'a>, _ctx: ImageMiddlewareContext<'a>, ) -> BoxFuture<'a, Result<ImageResult, ProviderError>>
Wraps do_generate.
Sourcefn override_provider(&self, _model: &dyn DynImageModel) -> Option<ProviderId>
fn override_provider(&self, _model: &dyn DynImageModel) -> Option<ProviderId>
Overrides the provider id reported by the wrapped model.
Sourcefn override_model_id(&self, _model: &dyn DynImageModel) -> Option<ModelId>
fn override_model_id(&self, _model: &dyn DynImageModel) -> Option<ModelId>
Overrides the model id reported by the wrapped model.
Sourcefn max_images_per_call(&self, model: &dyn DynImageModel) -> Option<usize>
fn max_images_per_call(&self, model: &dyn DynImageModel) -> Option<usize>
The per-call image limit reported by the wrapper; defaults to the inner value.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".