mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-30 18:52:31 +01:00
refactored unwrap calls to make it more stable
This commit is contained in:
@@ -19,7 +19,7 @@ pub fn StatsView() -> Html {
|
||||
match &status_ctx.status {
|
||||
Some(stats) => {
|
||||
if let Some(map) = &stats.active_provider_connections {
|
||||
if map.len() > 0 {
|
||||
if !map.is_empty() {
|
||||
let cards = map.iter().map(|(provider, connections)| {
|
||||
html! {
|
||||
<Card>
|
||||
|
||||
@@ -93,12 +93,10 @@ pub fn Home() -> Html {
|
||||
} else {
|
||||
treemap.insert(provider, connections);
|
||||
}
|
||||
} else {
|
||||
if connections > 0 {
|
||||
let mut treemap = BTreeMap::new();
|
||||
treemap.insert(provider, connections);
|
||||
server_status.active_provider_connections = Some(treemap);
|
||||
}
|
||||
} else if connections > 0 {
|
||||
let mut treemap = BTreeMap::new();
|
||||
treemap.insert(provider, connections);
|
||||
server_status.active_provider_connections = Some(treemap);
|
||||
}
|
||||
let new_status = Rc::new(server_status);
|
||||
*status_holder_signal.borrow_mut() = Some(Rc::clone(&new_status));
|
||||
|
||||
@@ -48,7 +48,8 @@ where
|
||||
match response.status() {
|
||||
200 => {
|
||||
if std::any::TypeId::of::<T>() == std::any::TypeId::of::<()>() {
|
||||
Ok(serde_json::from_str("null").unwrap()) // `T = ()` valid
|
||||
// `T = ()` valid
|
||||
serde_json::from_str("null").map_err(|_| Error::DeserializeError)
|
||||
} else {
|
||||
let data: Result<T, _> = response.json::<T>().await;
|
||||
if let Ok(data) = data {
|
||||
|
||||
@@ -19,12 +19,14 @@ pub enum WsMessage {
|
||||
|
||||
const WS_PATH: &str = "/ws";
|
||||
|
||||
type Subscriber = RefCell<HashMap<usize, Box<dyn Fn(WsMessage)>>>;
|
||||
|
||||
pub struct WebSocketService {
|
||||
connected: Rc<AtomicBool>,
|
||||
ws: Rc<RefCell<Option<WebSocket>>>,
|
||||
status_service: Rc<StatusService>,
|
||||
subscriber_id: Rc<AtomicUsize>,
|
||||
subscribers: Rc<RefCell<HashMap<usize, Box<dyn Fn(WsMessage)>>>>,
|
||||
subscribers: Rc<Subscriber>,
|
||||
}
|
||||
|
||||
impl WebSocketService {
|
||||
@@ -73,7 +75,7 @@ impl WebSocketService {
|
||||
|
||||
// onmessage
|
||||
let onmessage_callback = Closure::<dyn FnMut(_)>::wrap(Box::new(move |event: MessageEvent| {
|
||||
trace!("WebSocket received message: {:?}", event);
|
||||
trace!("WebSocket received message: {event:?}");
|
||||
if let Ok(buf) = event.data().dyn_into::<ArrayBuffer>() {
|
||||
let array = Uint8Array::new(&buf);
|
||||
let bytes = bytes::Bytes::from(array.to_vec());
|
||||
|
||||
Reference in New Issue
Block a user