[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/kallydev/openapi/release/python/src/error.rs [Back]  [Original]

use longbridge_python_macros::PyEnum;
use pyo3::{PyErr, pyclass};

pyo3::import_exception!(longbridge.openapi, OpenApiException);

pub(crate) struct ErrorNewType(pub(crate) longbridge::Error);

impl std::convert::From for PyErr {
    #[inline]
    fn from(err: ErrorNewType) -> PyErr {
        let err = err.0.into_simple_error();
        OpenApiException::new_err((
            ErrorKind::from(err.kind()),
            err.code(),
            err.trace_id().map(ToString::to_string),
            err.message().to_string(),
        ))
    }
}

#[pyclass(eq, eq_int, skip_from_py_object)]
#[derive(Debug, PyEnum, Copy, Clone, Hash, Eq, PartialEq)]
#[py(remote = "longbridge::SimpleErrorKind")]
pub(crate) enum ErrorKind {
    /// HTTP error
    Http,
    /// OpenAPI error
    OpenApi,
    /// Other error
    Other,
    /// OAuth error
    OAuth,
}

Web Proxy Viewer  |  New URL  |  Original Page