Make Hulypulse Great Again

This commit is contained in:
Leonid Kaganov
2025-08-22 01:56:19 +03:00
parent 3613520858
commit c39aab015c
7 changed files with 20 additions and 12 deletions
+8
View File
@@ -0,0 +1,8 @@
{
"extra": {
"service": "account"
},
"account": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"workspace": "00000000-0000-0000-0000-000000000001",
"exp": 1924236800
}
-3
View File
@@ -24,8 +24,6 @@ use std::{path::Path, sync::LazyLock};
use config::FileFormat;
use uuid::Uuid;
#[derive(Deserialize, Debug, PartialEq)]
#[serde(rename_all = "lowercase")]
pub enum RedisMode {
@@ -38,7 +36,6 @@ pub enum RedisMode {
pub struct Config {
pub bind_port: u16,
pub bind_host: String,
pub payload_size_limit: size::Size,
pub token_secret: SecretString,
-1
View File
@@ -1,6 +1,5 @@
bind_port = 8095
bind_host = "0.0.0.0"
payload_size_limit = "2mb"
token_secret = "secret"
+3 -2
View File
@@ -15,14 +15,13 @@
use anyhow::anyhow;
use redis::aio::MultiplexedConnection;
use serde::{Deserialize, de};
use serde::{Deserialize};
use tracing::*;
use actix_web::{
Error, HttpRequest, HttpResponse,
web::{self},
};
use uuid::Uuid;
use crate::redis::{SaveMode, Ttl, redis_delete, redis_list, redis_read, redis_save};
use crate::workspace_owner::workspace_check;
@@ -96,11 +95,13 @@ pub async fn get(
.map_err(map_handler_error)
}
/*
#[derive(serde::Deserialize)]
struct MyHeaders {
#[serde(rename = "HULY-TTL")]
ttl: Option<u64>,
}
*/
/// put
pub async fn put(
+1 -1
View File
@@ -104,7 +104,7 @@ async fn main() -> anyhow::Result<()> {
let hub = WsHub::new(redis_connection.clone()).start();
// starting Logger
tokio::spawn(redis::receiver(redis_client));
tokio::spawn(redis::receiver(redis_client, hub.clone()));
let socket = std::net::SocketAddr::new(CONFIG.bind_host.as_str().parse()?, CONFIG.bind_port);
+7 -4
View File
@@ -15,12 +15,13 @@
use std::time::{SystemTime, UNIX_EPOCH};
use actix::Addr;
use ::redis::Msg;
use tokio_stream::StreamExt;
use tracing::*;
use crate::config::{CONFIG, RedisMode};
use crate::ws_hub::{RedisEvent, RedisEventAction};
use crate::ws_hub::{RedisEvent, RedisEventAction, WsHub};
#[derive(serde::Serialize)]
pub enum Ttl {
@@ -135,7 +136,6 @@ pub async fn redis_list(
}
/// redis_read(&connection,key)
#[allow(dead_code)]
pub async fn redis_read(
conn: &mut MultiplexedConnection,
key: &str,
@@ -181,7 +181,6 @@ pub async fn redis_read(
/// w/o TTL (CONFIG.max_ttl)
/// redis_save(&mut conn, "key", "val", None, None).await?;
#[allow(dead_code)]
pub async fn redis_save<T: ToRedisArgs>(
conn: &mut MultiplexedConnection,
key: &str,
@@ -359,7 +358,7 @@ impl TryFrom<Msg> for RedisEvent {
}
}
pub async fn receiver(redis_client: Client) -> anyhow::Result<()> {
pub async fn receiver(redis_client: Client, hub: Addr<WsHub>) -> anyhow::Result<()> {
let mut redis = redis_client.get_multiplexed_async_connection().await?;
let mut pubsub = redis_client.get_async_pubsub().await?;
@@ -384,7 +383,11 @@ pub async fn receiver(redis_client: Client) -> anyhow::Result<()> {
while let Some(message) = messages.next().await {
match RedisEvent::try_from(message) {
Ok(ev) => {
debug!("redis event: {ev:#?}");
hub.do_send(ev);
}
Err(e) => {
warn!("invalid redis message: {e}");
+1 -1
View File
@@ -13,7 +13,7 @@
// limitations under the License.
//
use actix_web::{Error, HttpMessage, HttpRequest};
use actix_web::{HttpMessage, HttpRequest};
use hulyrs::services::jwt::Claims;
use uuid::Uuid;