use http::StatusCode;
use super::cross_platform_http_client::Response;
use crate::error::WildlandHttpClientError;
pub(crate) fn check_status_code(response: Response) -> Result<Response, WildlandHttpClientError> {
match StatusCode::from_u16(response.status_code as u16)
.map_err(|e| WildlandHttpClientError::HttpError(e.to_string()))?
{
StatusCode::OK | StatusCode::CREATED | StatusCode::ACCEPTED | StatusCode::NO_CONTENT => {
Ok(response)
}
_ => Err(WildlandHttpClientError::HttpError(format!(
"HTTP response code: {}; {}",
response.status_code,
response.to_string()?,
))),
}
}