pub struct PathRouter { /* private fields */ }Expand description
Pre-compiled radix-tree router for HTTP path matching.
Implementations§
Source§impl PathRouter
impl PathRouter
Sourcepub fn build(operations: &[OperationSpec]) -> Self
pub fn build(operations: &[OperationSpec]) -> Self
Build a PathRouter from a slice of OperationSpec.
Each operation’s path_template is split into segments and inserted
into the tree. Lookup time is O(number of segments in the request
path).
Sourcepub fn match_route(&self, method: &Method, path: &str) -> Option<RouteMatch>
pub fn match_route(&self, method: &Method, path: &str) -> Option<RouteMatch>
Match an HTTP method and path against the tree.
Returns a RouteMatch on success or None when no route matches.
Trait Implementations§
Source§impl Clone for PathRouter
impl Clone for PathRouter
Source§fn clone(&self) -> PathRouter
fn clone(&self) -> PathRouter
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 moreAuto Trait Implementations§
impl Freeze for PathRouter
impl RefUnwindSafe for PathRouter
impl Send for PathRouter
impl Sync for PathRouter
impl Unpin for PathRouter
impl UnsafeUnpin for PathRouter
impl UnwindSafe for PathRouter
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> 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> 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