pub struct PathSegmentTenantResolver { /* private fields */ }Expand description
Extracts a tenant ID from a URL path segment by index.
Path segments are split by /, with empty segments (from leading /)
removed. For example, the path /tenants/acme/tasks has segments
["tenants", "acme", "tasks"]; index 1 yields "acme".
The resolver reads the path from the :path pseudo-header (HTTP/2) or
the lowercased path key in CallContext::http_headers. If neither is
present, resolution returns None.
§Example
use a2a_protocol_server::tenant_resolver::PathSegmentTenantResolver;
// Extract segment at index 1: /tenants/{id}/...
let resolver = PathSegmentTenantResolver::new(1);Implementations§
Source§impl PathSegmentTenantResolver
impl PathSegmentTenantResolver
Sourcepub const fn new(segment_index: usize) -> PathSegmentTenantResolver
pub const fn new(segment_index: usize) -> PathSegmentTenantResolver
Creates a resolver that extracts the path segment at the given index.
Index 0 is the first non-empty segment after the leading /.
Trait Implementations§
Source§impl Clone for PathSegmentTenantResolver
impl Clone for PathSegmentTenantResolver
Source§fn clone(&self) -> PathSegmentTenantResolver
fn clone(&self) -> PathSegmentTenantResolver
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PathSegmentTenantResolver
impl Debug for PathSegmentTenantResolver
Auto Trait Implementations§
impl Freeze for PathSegmentTenantResolver
impl RefUnwindSafe for PathSegmentTenantResolver
impl Send for PathSegmentTenantResolver
impl Sync for PathSegmentTenantResolver
impl Unpin for PathSegmentTenantResolver
impl UnsafeUnpin for PathSegmentTenantResolver
impl UnwindSafe for PathSegmentTenantResolver
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request