Add axum server to nym-api (#4803)
* Migrate nym-api HTTP server from rocket to axum (#4698) Migrate endpoints to Axum * Squashed after PR review Initial WIP - bootstrap axum server with same data as rocket - start axum server alongside rocket - add routes for circulating-supply, contract-cache, network - write simple bash validation that migrated APIs return 200 - mark rocket parts of code as deprecated - start more complicated routes: WIP Init storage always Add coconut routes Add api-status routes Expand tests WIP Migrate unstable APIs with query params Update bash tests Add node-status routes Redirect / to /swagger Update API tests Implement graceful shutdown rustfmt Fix clippy * Add ecash routes after rebase * PR feedback - add CORS layer - move logger to common crate - remove global log filters for nym-api and axum * Serve OpenAPI for all endpoints (#4761) * Playing around with swagger * Generate OpenAPI for /status routes * Phase out static_routes as strings - also nest routers in a clearer way * Generate OpenAPI for /network routes * Generate OpenAPI for /api-status routes * Generate OpenAPI for "nym nodes" routes * Fix some network-monitor routes * Generate OpenAPI for /ecash routes * Add utoipa feature to /common mods * Add OpenAPI for unstable routes * Fix MixNodeDetails field in models * Introduce axum feature flag (#4775) * Add Axum bind_address to config * Introduce axum feature flag * Add comment to template.rs * Add Github action to build wtih `axum` feature * Refactor server start & shutdown (#4777) * Clippy: don't forget axum feature * Refactor router so it's safer * Implement graceful shutdown * Nicer pattern matching * Better Result syntax
This commit is contained in:
+2
-1
@@ -41,12 +41,13 @@ pub struct NodeStatusCache {
|
||||
|
||||
impl NodeStatusCache {
|
||||
/// Creates a new cache with no data.
|
||||
fn new() -> NodeStatusCache {
|
||||
pub(crate) fn new() -> NodeStatusCache {
|
||||
NodeStatusCache {
|
||||
inner: Arc::new(RwLock::new(NodeStatusCacheData::new())),
|
||||
}
|
||||
}
|
||||
|
||||
#[deprecated(note = "TODO rocket: obsolete because it's used for Rocket")]
|
||||
pub fn stage() -> AdHoc {
|
||||
AdHoc::on_ignite("Node Status Cache", |rocket| async {
|
||||
rocket.manage(Self::new())
|
||||
|
||||
Reference in New Issue
Block a user