zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
use crate::core::errors::Errors;
use crate::core::redis::ReidsPubSubAsync;
use crate::core::redis::ReidsPubsubStandaloneAsync;

pub fn create_pubsub_async(
    settings: &crate::core::redis::RedisSettings,
) -> Result<ReidsPubSubAsync, Errors> {
    if settings.connect_mode.clone().unwrap() == *"standalone" {
        return Ok(ReidsPubSubAsync {
            standalone_client: Some(create_pubsub_with_standalone_async(settings).unwrap()),
        });
    }

    Err(Errors::GenericError("Not support redis mode".to_string()))
}

fn create_pubsub_with_standalone_async(
    settings: &crate::core::redis::RedisSettings,
) -> Result<ReidsPubsubStandaloneAsync, Errors> {
    let connection_string = settings.connection_string();

    match redis::Client::open(connection_string.clone()) {
        Ok(cliet) => {
            log::info!(
                "RedisPubsubAsync-Standalone: connection_string={}",
                connection_string
            );
            Ok(ReidsPubsubStandaloneAsync { client: cliet })
        }
        Err(e) => Err(Errors::GenericError(e.to_string())),
    }
}