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>;