made helper functions for EndpointStatus

This commit is contained in:
Edward Shen 2019-05-01 22:47:11 -04:00
parent 57574993b6
commit 25ed4f0acb
Signed by: edward
GPG key ID: F350507060ED6C90
2 changed files with 35 additions and 17 deletions

View file

@ -15,6 +15,35 @@ pub struct EndpointStatus {
pub error: Option<String>,
}
impl EndpointStatus {
pub fn ok(location: String, endpoint: String) -> Self {
EndpointStatus {
status: 0,
location,
endpoint,
error: None,
}
}
pub fn warn(location: String, endpoint: String, error: Option<String>) -> Self {
EndpointStatus {
status: 1,
location,
endpoint,
error,
}
}
pub fn error(location: String, endpoint: String, error: Option<String>) -> Self {
EndpointStatus {
status: 2,
location,
endpoint,
error,
}
}
}
#[derive(Serialize, Debug)]
pub struct StatusGroup {
pub label: String,

View file

@ -77,28 +77,17 @@ fn get_result(
});
}
EndpointStatus {
status: if error.is_some() { 1 } else { 0 },
location: url,
endpoint: label,
error,
if error.is_some() {
EndpointStatus::warn(url, label, error)
} else {
EndpointStatus::ok(url, label)
}
}
Err(e) => {
if let Some(true) = endpoint.should_err {
EndpointStatus {
status: 0,
location: url,
endpoint: label,
error: None,
}
EndpointStatus::ok(url, label)
} else {
EndpointStatus {
status: 2,
location: url,
endpoint: label,
error: Some(format!("{}", e)),
}
EndpointStatus::error(url, label, Some(format!("{}", e)))
}
}
}