lrclib_api_rs/
error.rs

1use strum::EnumIs;
2use thiserror::Error;
3
4// Custom error type using thiserror crate
5#[derive(Error, Debug, EnumIs)]
6#[non_exhaustive]
7pub enum ApiError {
8    #[error("Url parse error: {0}")]
9    UrlError(#[from] url::ParseError),
10    #[error("http request error: {0}")]
11    HttpRequestError(#[from] http::Error),
12    #[error("JSON serialization error: {0}")]
13    JsonSerializationError(#[from] serde_json::Error),
14}