fix api/ruma_wrapper/axum events

This commit is contained in:
Charles Hall 2024-07-15 15:49:37 -07:00
parent ca4f780c93
commit f5e10f5a8f
No known key found for this signature in database
GPG key ID: 7B8E0645816E07CF

View file

@ -25,7 +25,7 @@ use ruma::{
OwnedServerName, OwnedUserId, UserId, OwnedServerName, OwnedUserId, UserId,
}; };
use serde::Deserialize; use serde::Deserialize;
use tracing::{debug, error, warn}; use tracing::{error, warn};
use super::{Ar, Ra}; use super::{Ar, Ra};
use crate::{service::appservice::RegistrationInfo, services, Error, Result}; use crate::{service::appservice::RegistrationInfo, services, Error, Result};
@ -81,8 +81,8 @@ async fn ar_from_request_inner(
let query = parts.uri.query().unwrap_or_default(); let query = parts.uri.query().unwrap_or_default();
let query_params: QueryParams = match serde_html_form::from_str(query) { let query_params: QueryParams = match serde_html_form::from_str(query) {
Ok(params) => params, Ok(params) => params,
Err(e) => { Err(error) => {
error!(%query, "Failed to deserialize query parameters: {}", e); error!(%error, %query, "Failed to deserialize query parameters");
return Err(Error::BadRequest( return Err(Error::BadRequest(
ErrorKind::Unknown, ErrorKind::Unknown,
"Failed to read query parameters", "Failed to read query parameters",
@ -181,10 +181,10 @@ async fn ar_from_request_inner(
let TypedHeader(Authorization(x_matrix)) = parts let TypedHeader(Authorization(x_matrix)) = parts
.extract::<TypedHeader<Authorization<XMatrix>>>() .extract::<TypedHeader<Authorization<XMatrix>>>()
.await .await
.map_err(|e| { .map_err(|error| {
warn!("Missing or invalid Authorization header: {}", e); warn!(%error, "Missing or invalid Authorization header");
let msg = match e.reason() { let msg = match error.reason() {
TypedHeaderRejectionReason::Missing => { TypedHeaderRejectionReason::Missing => {
"Missing Authorization header." "Missing Authorization header."
} }
@ -267,8 +267,8 @@ async fn ar_from_request_inner(
let keys = match keys_result { let keys = match keys_result {
Ok(b) => b, Ok(b) => b,
Err(e) => { Err(error) => {
warn!("Failed to fetch signing keys: {}", e); warn!(%error, "Failed to fetch signing keys");
return Err(Error::BadRequest( return Err(Error::BadRequest(
ErrorKind::forbidden(), ErrorKind::forbidden(),
"Failed to fetch signing keys.", "Failed to fetch signing keys.",
@ -293,10 +293,12 @@ async fn ar_from_request_inner(
match ruma::signatures::verify_json(&pub_key_map, &request_map) match ruma::signatures::verify_json(&pub_key_map, &request_map)
{ {
Ok(()) => (None, None, Some(x_matrix.origin), None), Ok(()) => (None, None, Some(x_matrix.origin), None),
Err(e) => { Err(error) => {
warn!( warn!(
"Failed to verify json request from {}: {}\n{:?}", %error,
x_matrix.origin, e, request_map origin = %x_matrix.origin,
object = ?request_map,
"Failed to verify JSON request"
); );
if parts.uri.to_string().contains('@') { if parts.uri.to_string().contains('@') {
@ -402,9 +404,12 @@ where
let body = let body =
T::try_from_http_request(pieces.http_request, &pieces.path_params) T::try_from_http_request(pieces.http_request, &pieces.path_params)
.map_err(|e| { .map_err(|error| {
warn!("try_from_http_request failed: {:?}", e); warn!(
debug!("JSON body: {:?}", pieces.json_body); %error,
body = ?pieces.json_body,
"Request body JSON structure is incorrect"
);
Error::BadRequest( Error::BadRequest(
ErrorKind::BadJson, ErrorKind::BadJson,
"Failed to deserialize request.", "Failed to deserialize request.",