blob: 01b7bc090d1f8869cbf7a7bb23277b82efd542cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//! /debug/* handlers (only routed with --debug-api).
use axum::{Json, extract::State, http::StatusCode};
use tracing::info;
use crate::state::AppState;
use crate::transport::firewall::FirewallRules;
pub(crate) async fn get_debug_firewall(State(state): State<AppState>) -> Json<FirewallRules> {
Json(state.firewall.rules())
}
pub(crate) async fn put_debug_firewall(
State(state): State<AppState>,
Json(rules): Json<FirewallRules>,
) -> StatusCode {
info!(inbound = ?rules.inbound, outbound = ?rules.outbound, "Firewall rules replaced");
state.firewall.set_rules(rules);
StatusCode::NO_CONTENT
}
|