Skip to content

Commit f1175e8

Browse files
patrickelectricjoaoantoniocardoso
authored andcommitted
web: Move mavlink endpoints to service
Signed-off-by: Patrick José Pereira <[email protected]>
1 parent 9ea2477 commit f1175e8

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

src/lib/web/mavlink_endpoints.rs

+16-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ use axum::{
88
},
99
http::StatusCode,
1010
response::{IntoResponse, Response},
11-
Json,
11+
routing::{get, post},
12+
Json, Router,
1213
};
1314

1415
use futures::{sink::SinkExt, stream::StreamExt};
@@ -18,6 +19,20 @@ use uuid::Uuid;
1819

1920
use crate::web::{broadcast_message_websockets, AppState};
2021

22+
pub fn router() -> Router<AppState> {
23+
Router::new()
24+
.route("/ws", get(websocket_handler))
25+
// We are matching all possible keys for the user
26+
.route("/mavlink", get(mavlink))
27+
.route("/mavlink", post(post_mavlink))
28+
.route("/mavlink/", get(mavlink))
29+
.route("/mavlink/*path", get(mavlink))
30+
.route(
31+
"/mavlink/message_id_from_name/*name",
32+
get(message_id_from_name),
33+
)
34+
}
35+
2136
pub async fn mavlink(path: Option<Path<String>>) -> impl IntoResponse {
2237
let path = match path {
2338
Some(path) => path.0.to_string(),

src/lib/web/mod.rs

+2-11
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use axum::{
1414
},
1515
http::StatusCode,
1616
response::Response,
17-
routing::{get, post},
17+
routing::get,
1818
Router,
1919
};
2020
use futures::{sink::SinkExt, stream::StreamExt};
@@ -49,16 +49,7 @@ fn default_router(state: AppState) -> Router {
4949
"/stats/messages/ws",
5050
get(hub_messages_stats_websocket_handler),
5151
)
52-
.route("/rest/ws", get(mavlink_endpoints::websocket_handler))
53-
// We are matching all possible keys for the user
54-
.route("/rest/mavlink", get(mavlink_endpoints::mavlink))
55-
.route("/rest/mavlink", post(mavlink_endpoints::post_mavlink))
56-
.route("/rest/mavlink/", get(mavlink_endpoints::mavlink))
57-
.route("/rest/mavlink/*path", get(mavlink_endpoints::mavlink))
58-
.route(
59-
"/rest/mavlink/message_id_from_name/*name",
60-
get(mavlink_endpoints::message_id_from_name),
61-
)
52+
.nest("/rest/", mavlink_endpoints::router())
6253
.fallback(get(|| async { (StatusCode::NOT_FOUND, "Not found :(") }))
6354
.with_state(state)
6455
}

0 commit comments

Comments
 (0)