1
Fork 0

webfinger: Properly handle requests

This commit is contained in:
Steffo 2024-11-14 04:16:12 +01:00
parent 8145ce57cc
commit 025311e100
Signed by: steffo
GPG key ID: 5ADA3868646C3FC0
4 changed files with 11 additions and 5 deletions

View file

@ -5,7 +5,7 @@ edition = "2021"
[dependencies]
anyhow = "1.0.93"
axum = "0.7.7"
axum = { version = "0.7.7", features = ["macros"] }
axum-extra = { version = "0.9.4", features = ["query"] }
log = "0.4.22"
micronfig = "0.3.0"

View file

@ -1,3 +1,3 @@
micronfig::config!(
ACRATE_INBOX_BIND_ADDRESS: String,
ACRATE_WEBFINGER_BIND_ADDRESS: String,
);

View file

@ -15,7 +15,7 @@ async fn main() -> anyhow::Result<std::convert::Infallible> {
log::trace!("Axum router created successfully!");
log::trace!("Creating Tokio listener...");
let bind_address = config::ACRATE_INBOX_BIND_ADDRESS();
let bind_address = config::ACRATE_WEBFINGER_BIND_ADDRESS();
let listener = tokio::net::TcpListener::bind(bind_address)
.await
.context("failed to bind listener to address")?;

View file

@ -1,3 +1,4 @@
use axum::http::StatusCode;
use axum_extra::extract::Query;
use serde::Deserialize;
@ -9,8 +10,13 @@ pub struct WebfingerQuery {
pub rel: Vec<String>,
}
#[axum::debug_handler]
pub async fn webfinger_handler(
Query(WebfingerQuery {resource, rel}): Query<WebfingerQuery>
) {
todo!()
) -> StatusCode {
log::info!("Handling a WebFinger request!");
log::debug!("Resource is: {resource:#?}");
log::debug!("Rel is: {rel:#?}");
StatusCode::NO_CONTENT
}