2026-04-03 14:59:58 +08:00
|
|
|
use axum::routing::{any, get, post};
|
|
|
|
|
use axum::Router;
|
|
|
|
|
|
2026-04-05 20:23:16 +08:00
|
|
|
use crate::{
|
|
|
|
|
handlers::proxy::proxy_request,
|
|
|
|
|
state::AppState,
|
|
|
|
|
tunnel::{
|
|
|
|
|
proxy_tunnel, relay_request, PROXY_TUNNEL_PATH, TUNNEL_HEARTBEAT_PATH,
|
|
|
|
|
TUNNEL_NODE_STATUS_PATH, TUNNEL_RELAY_PATH_PATTERN,
|
|
|
|
|
},
|
2026-04-03 14:59:58 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
pub(crate) fn mount_internal_routes(router: Router<AppState>) -> Router<AppState> {
|
|
|
|
|
router
|
|
|
|
|
.route(
|
2026-04-04 01:40:24 +08:00
|
|
|
"/api/internal/gateway/{*internal_gateway_path}",
|
2026-04-03 14:59:58 +08:00
|
|
|
any(proxy_request),
|
|
|
|
|
)
|
|
|
|
|
.route(PROXY_TUNNEL_PATH, get(proxy_tunnel))
|
|
|
|
|
.route(TUNNEL_HEARTBEAT_PATH, post(proxy_request))
|
|
|
|
|
.route(TUNNEL_NODE_STATUS_PATH, post(proxy_request))
|
|
|
|
|
.route(TUNNEL_RELAY_PATH_PATTERN, post(relay_request))
|
|
|
|
|
}
|