aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-client/src/web_client
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-07-30 10:43:00 +0200
committerGitHub <noreply@github.com>2026-07-30 10:43:00 +0200
commit19befc2118f5943862629fd9ce11de855056c3ef (patch)
tree6ae5aa53f8cf3bff8f0b820b2a2ee4791e149ec6 /zellij-client/src/web_client
parentMore dependency upgrades for debian (#5421) (diff)
downloadsl0ppij-19befc2118f5943862629fd9ce11de855056c3ef.tar.gz
sl0ppij-19befc2118f5943862629fd9ce11de855056c3ef.tar.xz
sl0ppij-19befc2118f5943862629fd9ce11de855056c3ef.zip
Even more debian upgrades (#5424)
* Upgrade axum-extra 0.12, axum-server 0.8, rcgen 0.14 * rustfmt
Diffstat (limited to 'zellij-client/src/web_client')
-rw-r--r--zellij-client/src/web_client/ipc_listener.rs4
-rw-r--r--zellij-client/src/web_client/mod.rs23
2 files changed, 23 insertions, 4 deletions
diff --git a/zellij-client/src/web_client/ipc_listener.rs b/zellij-client/src/web_client/ipc_listener.rs
index 0ba37002..76d83a6b 100644
--- a/zellij-client/src/web_client/ipc_listener.rs
+++ b/zellij-client/src/web_client/ipc_listener.rs
@@ -1,6 +1,6 @@
use axum_server::Handle;
use interprocess::local_socket::traits::tokio::Listener;
-use std::net::IpAddr;
+use std::net::{IpAddr, SocketAddr};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use zellij_utils::consts::{ipc_bind_async, WEBSERVER_SOCKET_PATH};
use zellij_utils::prost::Message;
@@ -61,7 +61,7 @@ pub async fn send_webserver_response(
}
pub async fn listen_to_web_server_instructions(
- server_handle: Handle,
+ server_handle: Handle<SocketAddr>,
id: &str,
web_server_ip: IpAddr,
web_server_port: u16,
diff --git a/zellij-client/src/web_client/mod.rs b/zellij-client/src/web_client/mod.rs
index 0ce4ed0f..ded03bf3 100644
--- a/zellij-client/src/web_client/mod.rs
+++ b/zellij-client/src/web_client/mod.rs
@@ -265,15 +265,34 @@ pub async fn serve_web_client(
}
}));
+ if let Err(e) = listener.set_nonblocking(true) {
+ log::error!("Failed to set web server listener to non-blocking: {}", e);
+ return;
+ }
+
match rustls_config {
Some(rustls_config) => {
- let _ = axum_server::from_tcp_rustls(listener, rustls_config)
+ let server = match axum_server::from_tcp_rustls(listener, rustls_config) {
+ Ok(server) => server,
+ Err(e) => {
+ log::error!("Failed to create TLS web server from listener: {}", e);
+ return;
+ },
+ };
+ let _ = server
.handle(server_handle)
.serve(app.into_make_service())
.await;
},
None => {
- let _ = axum_server::from_tcp(listener)
+ let server = match axum_server::from_tcp(listener) {
+ Ok(server) => server,
+ Err(e) => {
+ log::error!("Failed to create web server from listener: {}", e);
+ return;
+ },
+ };
+ let _ = server
.handle(server_handle)
.serve(app.into_make_service())
.await;