tab_websocket/resource/
listener.rs1use lifeline::{impl_storage_clone, impl_storage_take};
2use tokio::net::TcpListener;
3
4#[derive(Debug)]
6pub struct WebsocketListenerResource(pub TcpListener);
7
8impl_storage_take!(WebsocketListenerResource);
9
10#[derive(Debug, Clone)]
13pub struct WebsocketAuthToken(pub Option<String>);
14
15impl_storage_clone!(WebsocketAuthToken);
16
17impl WebsocketAuthToken {
18 pub fn new(token: Option<String>) -> Self {
19 Self(token)
20 }
21}
22
23impl From<&str> for WebsocketAuthToken {
24 fn from(str: &str) -> Self {
25 WebsocketAuthToken(Some(str.to_string()))
26 }
27}
28
29impl From<String> for WebsocketAuthToken {
30 fn from(str: String) -> Self {
31 WebsocketAuthToken(Some(str))
32 }
33}
34
35impl WebsocketAuthToken {
36 pub fn unauthenticated() -> Self {
37 Self(None)
38 }
39}