pub struct CompositeResolver { /* private fields */ }Expand description
A resolver that dispatches to per-target resolvers, with an optional default for unknown targets.
Use this when different targets need different resolution strategies in
the same engine. For example: filesystem:source uses ArgsResolver,
api:posts uses WebappResolver.
§Example
use hessra_cap_engine::{ArgsResolver, CompositeResolver, NoopResolver};
let composite = CompositeResolver::builder()
.add(
"filesystem:source",
ArgsResolver::builder()
.for_target("filesystem:source")
.map("path", "path_prefix")
.build(),
)
.with_default(NoopResolver)
.build();Implementations§
Source§impl CompositeResolver
impl CompositeResolver
Sourcepub fn builder() -> CompositeResolverBuilder
pub fn builder() -> CompositeResolverBuilder
Begin building a composite resolver.
Trait Implementations§
Source§impl Debug for CompositeResolver
impl Debug for CompositeResolver
Source§impl DesignationResolver for CompositeResolver
impl DesignationResolver for CompositeResolver
fn resolve( &self, target: &ObjectId, operation: &Operation, ctx: &DesignationContext, ) -> Result<Vec<Designation>, ResolverError>
Auto Trait Implementations§
impl Freeze for CompositeResolver
impl !RefUnwindSafe for CompositeResolver
impl Send for CompositeResolver
impl Sync for CompositeResolver
impl Unpin for CompositeResolver
impl UnsafeUnpin for CompositeResolver
impl !UnwindSafe for CompositeResolver
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