diff --git a/src/api/mod.rs b/src/api/mod.rs index e4c3f2e..a00d1e5 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -9,8 +9,8 @@ use crate::AppState; mod v1; mod versions; -pub fn router() -> Router> { +pub fn router(path: &str) -> Router> { Router::new() - .route("/versions", get(versions::versions)) - .nest("/v1", v1::router()) + .route(&format!("{path}/versions"), get(versions::versions)) + .nest(&format!("{path}/v1"), v1::router()) } diff --git a/src/main.rs b/src/main.rs index 6bb2be3..15bae09 100644 --- a/src/main.rs +++ b/src/main.rs @@ -141,7 +141,7 @@ async fn main() -> Result<(), Error> { // build our application with a route let app = Router::new() // `GET /` goes to `root` - .nest(web.backend_url.path(), api::router()) + .merge(api::router(web.backend_url.path().trim_end_matches("/"))) .with_state(app_state) .layer(cors) .layer(socket_io);