Skip to main content

ClientUrlResolver

Trait ClientUrlResolver 

Source
pub trait ClientUrlResolver {
    // Required method
    fn resolve_client_url(&self, name: &str, params: &[(&str, &str)]) -> String;
}
Expand description

Trait for resolving client-side (frontend) URLs by route name.

This is the client-side counterpart to UrlResolver. While UrlResolver resolves server-side API/backend routes, ClientUrlResolver resolves frontend routes registered via ClientRouter.

§Panics

Implementations should panic if the route name is not found, consistent with UrlResolver::resolve_url().

§Example

use reinhardt_urls::routers::resolver::ClientUrlResolver;

struct MyClientResolver;

impl ClientUrlResolver for MyClientResolver {
    fn resolve_client_url(&self, name: &str, params: &[(&str, &str)]) -> String {
        format!("/client/{}/", name)
    }
}

let resolver = MyClientResolver;
assert_eq!(resolver.resolve_client_url("home", &[]), "/client/home/");

Required Methods§

Source

fn resolve_client_url(&self, name: &str, params: &[(&str, &str)]) -> String

Resolve a client-side URL by route name and parameters.

Implementors§