    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

    //! Redis integration for `actix`.

    #![deny(rust_2018_idioms, nonstandard_style)]
    #![warn(future_incompatible)]

    mod redis;
    pub use redis::{Command, RedisActor};

    use derive_more::{Display, Error, From};

    /// General purpose `actix-redis` error.
    #[derive(Debug, Display, Error, From)]
    pub enum Error {
        #[display(fmt = "Redis error {}", _0)]
        Redis(redis_async::error::Error),
        /// Receiving message during reconnecting
        #[display(fmt = "Redis: Not connected")]
        NotConnected,
        /// Cancel all waters when connection get dropped
        #[display(fmt = "Redis: Disconnected")]
        Disconnected,
    }

    #[cfg(feature = "web")]
    impl actix_web::ResponseError for Error {}

    // re-export
    pub use redis_async::error::Error as RespError;
    pub use redis_async::resp::RespValue;
    pub use redis_async::resp_array;