diff --git a/src/input/sources/http.rs b/src/input/sources/http.rs index e03a323..efcec23 100644 --- a/src/input/sources/http.rs +++ b/src/input/sources/http.rs @@ -13,6 +13,7 @@ use reqwest::{ header::{HeaderMap, ACCEPT_RANGES, CONTENT_LENGTH, CONTENT_TYPE, RANGE, RETRY_AFTER}, Client, }; +use std::fmt::format; use std::{ io::{Error as IoError, ErrorKind as IoErrorKind, Result as IoResult, SeekFrom}, pin::Pin, @@ -82,6 +83,12 @@ impl HttpRequest { .await .map_err(|e| AudioStreamError::Fail(Box::new(e)))?; + if !resp.status().is_success() { + let msg: Box = + format!("failed with http status code: {}", resp.status()).into(); + return Err(AudioStreamError::Fail(msg)); + } + if let Some(t) = resp.headers().get(RETRY_AFTER) { t.to_str() .map_err(|_| {