fix(rustproxy-http): configure HTTP/2 client builders with a Tokio timer for keep-alive handling
This commit is contained in:
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-03-12 - 25.10.5 - fix(rustproxy-http)
|
||||||
|
configure HTTP/2 client builders with a Tokio timer for keep-alive handling
|
||||||
|
|
||||||
|
- Adds TokioTimer to all HTTP/2 client builder instances in proxy_service.
|
||||||
|
- Ensures configured HTTP/2 keep-alive interval and timeout settings have the required timer runtime support.
|
||||||
|
|
||||||
## 2026-03-12 - 25.10.4 - fix(rustproxy-http)
|
## 2026-03-12 - 25.10.4 - fix(rustproxy-http)
|
||||||
stabilize upstream HTTP/2 forwarding and fallback behavior
|
stabilize upstream HTTP/2 forwarding and fallback behavior
|
||||||
|
|
||||||
|
|||||||
@@ -912,6 +912,7 @@ impl HttpProxyService {
|
|||||||
let exec = hyper_util::rt::TokioExecutor::new();
|
let exec = hyper_util::rt::TokioExecutor::new();
|
||||||
let mut h2_builder = hyper::client::conn::http2::Builder::new(exec);
|
let mut h2_builder = hyper::client::conn::http2::Builder::new(exec);
|
||||||
h2_builder
|
h2_builder
|
||||||
|
.timer(hyper_util::rt::TokioTimer::new())
|
||||||
.keep_alive_interval(std::time::Duration::from_secs(10))
|
.keep_alive_interval(std::time::Duration::from_secs(10))
|
||||||
.keep_alive_timeout(std::time::Duration::from_secs(5))
|
.keep_alive_timeout(std::time::Duration::from_secs(5))
|
||||||
.adaptive_window(true)
|
.adaptive_window(true)
|
||||||
@@ -1052,6 +1053,7 @@ impl HttpProxyService {
|
|||||||
let exec = hyper_util::rt::TokioExecutor::new();
|
let exec = hyper_util::rt::TokioExecutor::new();
|
||||||
let mut h2_builder = hyper::client::conn::http2::Builder::new(exec);
|
let mut h2_builder = hyper::client::conn::http2::Builder::new(exec);
|
||||||
h2_builder
|
h2_builder
|
||||||
|
.timer(hyper_util::rt::TokioTimer::new())
|
||||||
.keep_alive_interval(std::time::Duration::from_secs(10))
|
.keep_alive_interval(std::time::Duration::from_secs(10))
|
||||||
.keep_alive_timeout(std::time::Duration::from_secs(5))
|
.keep_alive_timeout(std::time::Duration::from_secs(5))
|
||||||
.adaptive_window(true)
|
.adaptive_window(true)
|
||||||
@@ -1142,6 +1144,7 @@ impl HttpProxyService {
|
|||||||
let exec = hyper_util::rt::TokioExecutor::new();
|
let exec = hyper_util::rt::TokioExecutor::new();
|
||||||
let mut h2_builder = hyper::client::conn::http2::Builder::new(exec);
|
let mut h2_builder = hyper::client::conn::http2::Builder::new(exec);
|
||||||
h2_builder
|
h2_builder
|
||||||
|
.timer(hyper_util::rt::TokioTimer::new())
|
||||||
.keep_alive_interval(std::time::Duration::from_secs(10))
|
.keep_alive_interval(std::time::Duration::from_secs(10))
|
||||||
.keep_alive_timeout(std::time::Duration::from_secs(5))
|
.keep_alive_timeout(std::time::Duration::from_secs(5))
|
||||||
.adaptive_window(true)
|
.adaptive_window(true)
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartproxy',
|
name: '@push.rocks/smartproxy',
|
||||||
version: '25.10.4',
|
version: '25.10.5',
|
||||||
description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
|
description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user