sigstat-grpc 0.14.1

Statsig with gRPC support.
Documentation
use std::fmt::{Display, Formatter};

use tonic::Status;

#[derive(Debug)]
pub enum StatsigGrpcErr {
    FailedToGetLock,
    Authentication(String),
    FailedToConnect(String),
    ErrorGrpcStatus(Status),
    CustomErr(String),
}

impl Display for StatsigGrpcErr {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        match self {
            StatsigGrpcErr::CustomErr(msg) => write!(f, "{msg}"),
            StatsigGrpcErr::FailedToConnect(msg) => {
                write!(f, "Failed to connect to GRPC Servers {msg}")
            }
            StatsigGrpcErr::FailedToGetLock => {
                write!(f, "Failed to acquire lock")
            }
            StatsigGrpcErr::ErrorGrpcStatus(s) => write!(f, "GRPC error status {}", s.message()),
            StatsigGrpcErr::Authentication(msg) => {
                write!(f, "Failed to authenticate with server {msg}")
            }
        }
    }
}