Router

Struct Router 

Source
pub struct Router { /* private fields */ }
Expand description

Router for the HTTP trigger.

Implementations§

Source§

impl Router

Source

pub fn build<'a>( base: &str, component_routes: impl IntoIterator<Item = (&'a str, &'a HttpTriggerRouteConfig)>, duplicate_routes: Option<&mut Vec<DuplicateRoute>>, ) -> Result<Self>

Builds a router based on application configuration.

duplicate_routes is an optional mutable reference to a vector of DuplicateRoute that will be populated with any duplicate routes found during the build process.

Source

pub fn routes(&self) -> impl Iterator<Item = (&(impl Display + Debug), &String)>

Returns the constructed routes.

Source

pub fn contains_reserved_route(&self) -> bool

true if one or more routes is under the reserved /.well-known/spin/* prefix; otherwise false.

Source

pub fn route<'path, 'router: 'path>( &'router self, path: &'path str, ) -> Result<RouteMatch<'router, 'path>>

This returns the component ID that should handle the given path, or an error if no component matches.

If multiple components could potentially handle the same request based on their defined routes, components with matching exact routes take precedence followed by matching wildcard patterns with the longest matching prefix.

Trait Implementations§

Source§

impl Clone for Router

Source§

fn clone(&self) -> Router

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Router

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Router

§

impl RefUnwindSafe for Router

§

impl Send for Router

§

impl Sync for Router

§

impl Unpin for Router

§

impl UnwindSafe for Router

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.