segment/
errors.rs

1//! Errors which may arise from this crate.
2
3use thiserror::Error;
4
5/// An enum of errors this crate may produce. These are compatible with
6/// `failure` errors.
7#[derive(Error, Debug)]
8pub enum Error {
9    /// The given message is too large to be sent to Segment's API.
10    #[error("message too large")]
11    MessageTooLarge,
12    #[error("Deserialize error")]
13    DeserializeError(#[from] serde_json::Error),
14    #[error("Network error")]
15    NetworkError(#[from] reqwest::Error),
16}
17
18pub type Result<T> = std::result::Result<T, Error>;