diff --git a/src/utils/structs.rs b/src/utils/structs.rs index dafc439..a2c28eb 100644 --- a/src/utils/structs.rs +++ b/src/utils/structs.rs @@ -83,7 +83,6 @@ pub struct Auth { pub struct PathConfig { pub servers: Vec, pub to_https: Option, - pub sticky_sessions: Option, pub client_headers: Option>, pub server_headers: Option>, pub rate_limit: Option, diff --git a/src/web/proxyhttp.rs b/src/web/proxyhttp.rs index 8704887..cf51ad8 100644 --- a/src/web/proxyhttp.rs +++ b/src/web/proxyhttp.rs @@ -39,7 +39,6 @@ pub struct LB { pub struct Context { backend_id: Option, - sticky_sessions: Option, start_time: Instant, hostname: Option>, upstream_peer: Option>, @@ -53,7 +52,6 @@ impl ProxyHttp for LB { fn new_ctx(&self) -> Self::CTX { Context { backend_id: None, - sticky_sessions: None, start_time: Instant::now(), hostname: None, upstream_peer: None, @@ -98,7 +96,9 @@ impl ProxyHttp for LB { let header = ResponseHeader::build(429, None)?; session.set_keepalive(None); session.write_response_header(Box::new(header), true).await?; - debug!("Rate limited: {:?}, {}", rate_key, rate); + if let (Some(oi), Some(oa)) = (&_ctx.hostname, rate_key) { + warn!("Limit: {}-rps exceed on {} from {}", rate, oi, oa); + } return Ok(true); } } @@ -176,7 +176,6 @@ impl ProxyHttp for LB { ) .unwrap_or(()); ctx.backend_id = Some(s); - ctx.sticky_sessions = ctx.extraparams.sticky_sessions; } Ok(peer) } @@ -236,7 +235,7 @@ impl ProxyHttp for LB { Ok(()) } async fn response_filter(&self, _session: &mut Session, _upstream_response: &mut ResponseHeader, ctx: &mut Self::CTX) -> Result<()> { - if let Some(val) = ctx.sticky_sessions { + if let Some(val) = ctx.extraparams.sticky_sessions { if let Some(bid) = &ctx.backend_id { let tt = if let Some(existing) = REVERSE_STORE.get(bid) { existing.value().clone()