diff --git a/src/config.rs b/src/config.rs index bdbb63c..ee421e0 100644 --- a/src/config.rs +++ b/src/config.rs @@ -125,7 +125,7 @@ pub struct MagnetarData { fn env_database_url() -> String { std::env::var("MAG_C_DATABASE_URL") .or_else(|_| std::env::var("DATABASE_URL")) - .expect("MAG_C_HOST, DATABASE_URL or \"data.database_url\" in the default configuration must be set") + .expect("MAG_C_DATABASE_URL, DATABASE_URL or \"data.database_url\" in the default configuration must be set") } impl Default for MagnetarData { diff --git a/src/nodeinfo.rs b/src/nodeinfo.rs index 5bac7e4..61a5b5b 100644 --- a/src/nodeinfo.rs +++ b/src/nodeinfo.rs @@ -9,6 +9,7 @@ use magnetar_nodeinfo::version_1_0::{ use magnetar_nodeinfo::version_2_0::NodeInfo20; use magnetar_nodeinfo::version_2_1::{NodeInfo21, NodeInfo21Software}; use serde::Serialize; +use serde_json::{json, Value}; use std::collections::{HashMap, HashSet}; const NODEINFO_PATH: &str = "/nodeinfo"; @@ -19,10 +20,8 @@ pub struct NodeInfoLink { href: String, } -pub async fn handle_nodeinfo( - State(config): State<&'static MagnetarConfig>, -) -> Json> { - Json(vec![ +pub async fn handle_nodeinfo(State(config): State<&'static MagnetarConfig>) -> Json { + let links = vec![ NodeInfoLink { href: format!( "{}://{}/nodeinfo/2.0", @@ -37,7 +36,11 @@ pub async fn handle_nodeinfo( ), rel: RelNodeInfo21.rel(), }, - ]) + ]; + + let links_serialized = serde_json::to_value(links).unwrap(); + + Json(json!({ "links": links_serialized })) } pub async fn handle_nodeinfo_21(State(config): State<&'static MagnetarConfig>) -> Json {