slight misc error.rs changes
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
f0dd3930fa
commit
0734b52a8a
2 changed files with 11 additions and 19 deletions
|
@ -5,7 +5,7 @@ use ruma::{
|
||||||
RoomId, RoomVersionId, ServerName,
|
RoomId, RoomVersionId, ServerName,
|
||||||
};
|
};
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
use tracing::{debug, error, info, warn};
|
use tracing::{debug, info, warn};
|
||||||
use tracing_subscriber::EnvFilter;
|
use tracing_subscriber::EnvFilter;
|
||||||
|
|
||||||
use crate::{api::server_server::parse_incoming_pdu, services, utils::HtmlEscape, Error, PduEvent, Result};
|
use crate::{api::server_server::parse_incoming_pdu, services, utils::HtmlEscape, Error, PduEvent, Result};
|
||||||
|
@ -245,7 +245,7 @@ pub(crate) async fn get_room_state(_body: Vec<&str>, room_id: Box<RoomId>) -> Re
|
||||||
}
|
}
|
||||||
|
|
||||||
let json_text = serde_json::to_string_pretty(&room_state).map_err(|e| {
|
let json_text = serde_json::to_string_pretty(&room_state).map_err(|e| {
|
||||||
error!("Failed converting room state vector in our database to pretty JSON: {e}");
|
warn!("Failed converting room state vector in our database to pretty JSON: {e}");
|
||||||
Error::bad_database(
|
Error::bad_database(
|
||||||
"Failed to convert room state events to pretty JSON, possible invalid room state events in our database",
|
"Failed to convert room state events to pretty JSON, possible invalid room state events in our database",
|
||||||
)
|
)
|
||||||
|
@ -297,7 +297,7 @@ pub(crate) async fn ping(_body: Vec<&str>, server: Box<ServerName>) -> Result<Ro
|
||||||
)))
|
)))
|
||||||
},
|
},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
error!("Failed sending federation request to specified server from ping debug command: {e}");
|
warn!("Failed sending federation request to specified server from ping debug command: {e}");
|
||||||
Ok(RoomMessageEventContent::text_plain(format!(
|
Ok(RoomMessageEventContent::text_plain(format!(
|
||||||
"Failed sending federation request to specified server:\n\n{e}",
|
"Failed sending federation request to specified server:\n\n{e}",
|
||||||
)))
|
)))
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use std::convert::Infallible;
|
use std::{convert::Infallible, fmt};
|
||||||
|
|
||||||
use http::StatusCode;
|
use http::StatusCode;
|
||||||
use ruma::{
|
use ruma::{
|
||||||
|
@ -9,13 +9,13 @@ use ruma::{
|
||||||
OwnedServerName,
|
OwnedServerName,
|
||||||
};
|
};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use tracing::{debug, error};
|
use tracing::error;
|
||||||
use ErrorKind::{
|
use ErrorKind::{
|
||||||
Forbidden, GuestAccessForbidden, LimitExceeded, MissingToken, NotFound, ThreepidAuthFailed, ThreepidDenied,
|
Forbidden, GuestAccessForbidden, LimitExceeded, MissingToken, NotFound, ThreepidAuthFailed, ThreepidDenied,
|
||||||
TooLarge, Unauthorized, Unknown, UnknownToken, Unrecognized, UserDeactivated, WrongRoomKeysVersion,
|
TooLarge, Unauthorized, Unknown, UnknownToken, Unrecognized, UserDeactivated, WrongRoomKeysVersion,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::RumaResponse;
|
use crate::{debug_info, RumaResponse};
|
||||||
|
|
||||||
pub(crate) type Result<T, E = Error> = std::result::Result<T, E>;
|
pub(crate) type Result<T, E = Error> = std::result::Result<T, E>;
|
||||||
|
|
||||||
|
@ -92,9 +92,7 @@ impl Error {
|
||||||
error!("BadConfig: {}", message);
|
error!("BadConfig: {}", message);
|
||||||
Self::BadConfig(message.to_owned())
|
Self::BadConfig(message.to_owned())
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl Error {
|
|
||||||
pub(crate) fn to_response(&self) -> RumaResponse<UiaaResponse> {
|
pub(crate) fn to_response(&self) -> RumaResponse<UiaaResponse> {
|
||||||
if let Self::Uiaa(uiaainfo) = self {
|
if let Self::Uiaa(uiaainfo) = self {
|
||||||
return RumaResponse(UiaaResponse::AuthResponse(uiaainfo.clone()));
|
return RumaResponse(UiaaResponse::AuthResponse(uiaainfo.clone()));
|
||||||
|
@ -103,7 +101,7 @@ impl Error {
|
||||||
if let Self::Federation(origin, error) = self {
|
if let Self::Federation(origin, error) = self {
|
||||||
let mut error = error.clone();
|
let mut error = error.clone();
|
||||||
error.body = ErrorBody::Standard {
|
error.body = ErrorBody::Standard {
|
||||||
kind: error.error_kind().unwrap_or(&Unknown).clone(),
|
kind: error.error_kind().unwrap_or_else(|| &Unknown).clone(),
|
||||||
message: format!("Answer from {origin}: {error}"),
|
message: format!("Answer from {origin}: {error}"),
|
||||||
};
|
};
|
||||||
return RumaResponse(UiaaResponse::MatrixError(error));
|
return RumaResponse(UiaaResponse::MatrixError(error));
|
||||||
|
@ -141,7 +139,7 @@ impl Error {
|
||||||
_ => (Unknown, StatusCode::INTERNAL_SERVER_ERROR),
|
_ => (Unknown, StatusCode::INTERNAL_SERVER_ERROR),
|
||||||
};
|
};
|
||||||
|
|
||||||
debug!("Returning an error: {status_code}: {message}");
|
debug_info!("Returning an error: {status_code}: {message}");
|
||||||
RumaResponse(UiaaResponse::MatrixError(RumaError {
|
RumaResponse(UiaaResponse::MatrixError(RumaError {
|
||||||
body: ErrorBody::Standard {
|
body: ErrorBody::Standard {
|
||||||
kind,
|
kind,
|
||||||
|
@ -154,7 +152,7 @@ impl Error {
|
||||||
/// Returns the Matrix error code / error kind
|
/// Returns the Matrix error code / error kind
|
||||||
pub(crate) fn error_code(&self) -> ErrorKind {
|
pub(crate) fn error_code(&self) -> ErrorKind {
|
||||||
if let Self::Federation(_, error) = self {
|
if let Self::Federation(_, error) = self {
|
||||||
return error.error_kind().unwrap_or(&Unknown).clone();
|
return error.error_kind().unwrap_or_else(|| &Unknown).clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
match self {
|
match self {
|
||||||
|
@ -179,12 +177,6 @@ impl Error {
|
||||||
Self::Io {
|
Self::Io {
|
||||||
..
|
..
|
||||||
} => db_error,
|
} => db_error,
|
||||||
Self::BadConfig {
|
|
||||||
..
|
|
||||||
} => db_error,
|
|
||||||
Self::BadDatabase {
|
|
||||||
..
|
|
||||||
} => db_error,
|
|
||||||
_ => self.to_string(),
|
_ => self.to_string(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -198,6 +190,6 @@ impl axum::response::IntoResponse for Error {
|
||||||
fn into_response(self) -> axum::response::Response { self.to_response().into_response() }
|
fn into_response(self) -> axum::response::Response { self.to_response().into_response() }
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::fmt::Debug for Error {
|
impl fmt::Debug for Error {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{}", self) }
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{}", self) }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue