feat: better error message if cannot connect to provided url

This commit is contained in:
DecDuck
2025-04-26 01:06:03 +10:00
parent 40eb19cf8b
commit 4941f2a6fa

View File

@ -1,4 +1,5 @@
use std::{ use std::{
any::{Any, TypeId},
error::Error, error::Error,
fmt::{Display, Formatter}, fmt::{Display, Formatter},
sync::Arc, sync::Arc,
@ -28,7 +29,12 @@ pub enum RemoteAccessError {
impl Display for RemoteAccessError { impl Display for RemoteAccessError {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self { match self {
RemoteAccessError::FetchError(error) => write!( RemoteAccessError::FetchError(error) => {
if error.is_connect() {
return write!(f, "Failed to connect to Drop server. Check if you access Drop through a browser, and then try again.");
}
write!(
f, f,
"{}: {}", "{}: {}",
error, error,
@ -37,7 +43,8 @@ impl Display for RemoteAccessError {
.map(|e| e.to_string()) .map(|e| e.to_string())
.or_else(|| Some("Unknown error".to_string())) .or_else(|| Some("Unknown error".to_string()))
.unwrap() .unwrap()
), )
},
RemoteAccessError::ParsingError(parse_error) => { RemoteAccessError::ParsingError(parse_error) => {
write!(f, "{}", parse_error) write!(f, "{}", parse_error)
} }