improve error messages

This commit is contained in:
ari melody 2025-06-16 22:17:19 +01:00
parent c765db8148
commit eab99012e8
Signed by: ari
GPG key ID: CF99829C92678188

View file

@ -98,16 +98,20 @@ env!("CARGO_PKG_VERSION"));
if !address.contains(":") { address.push_str(":25565"); } if !address.contains(":") { address.push_str(":25565"); }
match address.to_socket_addrs() { match address.to_socket_addrs() {
Err(_) => { Err(_) => {
response.set_header("Content-Type", "text/html".to_string());
response.status(StatusCode::BadRequest); response.status(StatusCode::BadRequest);
response.body("Server address is invalid or unreachable.\n".to_string()); query_response = format!(
return response.send(); "<hr/>
<h2>Server Details</h2>
<pre><code>Invalid server address: {}.</pre></code>",
sanitize_html(&address.to_string()),
);
} }
Ok(mut addrs_iter) => { Ok(mut addrs_iter) => {
let address = addrs_iter.next().unwrap(); let address = addrs_iter.next().unwrap();
match MinecraftStatus::fetch(address) { match MinecraftStatus::fetch(address) {
Err(_) => { Err(_) => {
response.status(StatusCode::InternalServerError);
query_response = format!( query_response = format!(
"<hr/> "<hr/>
<h2>Server Details</h2> <h2>Server Details</h2>
@ -150,6 +154,7 @@ env!("CARGO_PKG_VERSION"));
None => { "mcq.bliss.town" } None => { "mcq.bliss.town" }
Some(host) => { host } Some(host) => { host }
}); });
response.set_header("Content-Type", "text/html".to_string());
response.body(response_content.to_string()); response.body(response_content.to_string());
return response.send(); return response.send();
} }
@ -166,7 +171,7 @@ env!("CARGO_PKG_VERSION"));
if !address.contains(":") { address.push_str(":25565"); } if !address.contains(":") { address.push_str(":25565"); }
match address.to_socket_addrs() { match address.to_socket_addrs() {
Err(_) => { Err(_) => {
response.status(StatusCode::InternalServerError); response.status(StatusCode::BadRequest);
response.body("Invalid server address.\n".to_string()); response.body("Invalid server address.\n".to_string());
} }
Ok(mut addrs_iter) => { Ok(mut addrs_iter) => {
@ -187,9 +192,9 @@ env!("CARGO_PKG_VERSION"));
match serde_json::to_string(&minecraft_status) { match serde_json::to_string(&minecraft_status) {
Err(e) => { Err(e) => {
eprintln!("Failed to parse status for {address}: {e}"); eprintln!("Failed to format response from {} to JSON: {}", address, e);
response.status(StatusCode::InternalServerError); response.status(StatusCode::InternalServerError);
response.body(format!("Failed to parse response from {address}.\n")); response.body("Internal Server Error\n".to_string());
} }
Ok(json) => { Ok(json) => {
response.status(StatusCode::OK); response.status(StatusCode::OK);