rsiot/components/cmp_esp_http_server/
error.rs

1use esp_idf_svc::{io::EspIOError, sys::EspError};
2
3use crate::{executor::ComponentError, serde_utils};
4
5/// Ошибки cmp_esp_http_server
6#[allow(missing_docs)]
7#[derive(Debug, thiserror::Error)]
8pub enum Error {
9    #[error("TaskEndUpdateGetEndpoints")]
10    TaskEndUpdateGetEndpoints,
11
12    #[error("Unknown path: {0}")]
13    UnknownPath(String),
14
15    #[error(transparent)]
16    Component(#[from] ComponentError),
17
18    #[error(transparent)]
19    Serde(#[from] serde_utils::Error),
20
21    #[error(transparent)]
22    TokioTaskJoin(#[from] tokio::task::JoinError),
23
24    #[error("RegisterHandler")]
25    RegisterHandler(EspError),
26
27    #[error("RequestContentLen")]
28    RequestContentLen,
29
30    #[error(transparent)]
31    RequestIntoResponse(EspIOError),
32
33    #[error("RequestReadBody")]
34    RequestReadBody(String),
35
36    #[error(transparent)]
37    ResponseWriteAll(EspIOError),
38}
39
40impl From<Error> for ComponentError {
41    fn from(value: Error) -> Self {
42        ComponentError::Execution(value.to_string())
43    }
44}