feat: v0.3.1, fix panic
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -718,7 +718,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "simple-rust-http3-proxy"
|
name = "simple-rust-http3-proxy"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"deser-hjson",
|
"deser-hjson",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "simple-rust-http3-proxy"
|
name = "simple-rust-http3-proxy"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|||||||
@@ -69,9 +69,30 @@ pub async fn run(listen_config: &ListenConfig) -> XResult<()> {
|
|||||||
|
|
||||||
let endpoint = endpoint_opt.as_mut().unwrap();
|
let endpoint = endpoint_opt.as_mut().unwrap();
|
||||||
|
|
||||||
let connect = endpoint.connect(addr, &server_name).unwrap();
|
let connect = match endpoint.connect(addr, &server_name) {
|
||||||
let quinn::NewConnection { connection, .. } = connect.await.unwrap();
|
Ok(connect) => connect,
|
||||||
let (send, recv) = connection.open_bi().await.unwrap();
|
Err(e) => {
|
||||||
|
failure!("Connect failed: {:?}", e);
|
||||||
|
endpoint_opt = None;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
let quinn::NewConnection { connection, .. } = match connect.await {
|
||||||
|
Ok(connection) => connection,
|
||||||
|
Err(e) => {
|
||||||
|
failure!("Connect failed: {:?}", e);
|
||||||
|
endpoint_opt = None;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
let (send, recv) = match connection.open_bi().await {
|
||||||
|
Ok(stream) => stream,
|
||||||
|
Err(e) => {
|
||||||
|
failure!("Connect failed: {:?}", e);
|
||||||
|
endpoint_opt = None;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
};
|
||||||
let remote_addr = format!("{}", connection.remote_address());
|
let remote_addr = format!("{}", connection.remote_address());
|
||||||
let local_addr = connection.local_ip().map(|ip| format!("{}", ip)).unwrap_or_else(|| "".to_string());
|
let local_addr = connection.local_ip().map(|ip| format!("{}", ip)).unwrap_or_else(|| "".to_string());
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
|
|||||||
Reference in New Issue
Block a user