wards 0.1.10

Библиотека для камеры Beward B2530RZQ-LP
Documentation
use std::fmt::Display;

pub(crate) const ERROR_SPLIT_RAW: &str = "не удалось разделить ответ";
pub(crate) const ERROR_SPLIT_HEADERS: &str = "не удалось разделить заголовки ответа";
pub(crate) const ERROR_HTTP_VERSION_MISSING: &str = "в заголовке отсутствует версия http протокола";
pub(crate) const ERROR_HTTP_CODE_MISSING: &str = "в заголовке отсутствует код ответа";
pub(crate) const ERROR_PARSING_HTTP_CODE: &str = "не удалось преобразовать код ответа";
pub(crate) const ERROR_PARSING_DATETIME: &str = "не удалось преобразовать время";
pub(crate) const ERROR_PARSING_CAR_NUMBER: &str = "не удалось преобразовать номер автомобиля";
pub(crate) const ERROR_PARSING_EVENT_STATUS: &str = "не удалось преобразовать статус события проезда автомобиля";

pub(crate) const ERROR_IP_LOOKUP: &str = "не удалось распознать ip";

#[derive(Debug, PartialEq)]
pub enum WardError {
    NetworkError(String),
    HTTPError(String),
    ParseError(String),
}

impl Display for WardError {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match &self {
            WardError::NetworkError(err) => write!(f, "Сетевая ошибка: {err}"),
            WardError::HTTPError(err) => write!(f, "Ошибка HTTP: {err}"),
            WardError::ParseError(err) => write!(f, "Ошибка парсера: {err}"),
        }
    }
}