Fixed a bug in the NodeInfo endpoint and a config typo

This commit is contained in:
Natty 2023-05-19 01:51:58 +02:00
parent 82bd8d5143
commit 28d4cf4ad5
Signed by: natty
GPG Key ID: BF6CB659ADEE60EC
2 changed files with 9 additions and 6 deletions

View File

@ -125,7 +125,7 @@ pub struct MagnetarData {
fn env_database_url() -> String { fn env_database_url() -> String {
std::env::var("MAG_C_DATABASE_URL") std::env::var("MAG_C_DATABASE_URL")
.or_else(|_| std::env::var("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 { impl Default for MagnetarData {

View File

@ -9,6 +9,7 @@ use magnetar_nodeinfo::version_1_0::{
use magnetar_nodeinfo::version_2_0::NodeInfo20; use magnetar_nodeinfo::version_2_0::NodeInfo20;
use magnetar_nodeinfo::version_2_1::{NodeInfo21, NodeInfo21Software}; use magnetar_nodeinfo::version_2_1::{NodeInfo21, NodeInfo21Software};
use serde::Serialize; use serde::Serialize;
use serde_json::{json, Value};
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
const NODEINFO_PATH: &str = "/nodeinfo"; const NODEINFO_PATH: &str = "/nodeinfo";
@ -19,10 +20,8 @@ pub struct NodeInfoLink {
href: String, href: String,
} }
pub async fn handle_nodeinfo( pub async fn handle_nodeinfo(State(config): State<&'static MagnetarConfig>) -> Json<Value> {
State(config): State<&'static MagnetarConfig>, let links = vec![
) -> Json<Vec<NodeInfoLink>> {
Json(vec![
NodeInfoLink { NodeInfoLink {
href: format!( href: format!(
"{}://{}/nodeinfo/2.0", "{}://{}/nodeinfo/2.0",
@ -37,7 +36,11 @@ pub async fn handle_nodeinfo(
), ),
rel: RelNodeInfo21.rel(), 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<NodeInfo21> { pub async fn handle_nodeinfo_21(State(config): State<&'static MagnetarConfig>) -> Json<NodeInfo21> {