feat: Promote rpxy-lib/sticky-cookie to top-level feature

.. and fix compile warnings when disabled
This commit is contained in:
Jonas Berlin 2024-10-28 11:22:46 +02:00
commit 8e1a0e78d1
5 changed files with 13 additions and 12 deletions

View file

@ -6,7 +6,7 @@ use super::{
utils_request::InspectParseHost,
};
use crate::{
backend::{BackendAppManager, LoadBalanceContext},
backend::BackendAppManager,
error::*,
forwarder::{ForwardRequest, Forwarder},
globals::Globals,
@ -25,7 +25,7 @@ use tokio::io::copy_bidirectional;
/// Context object to handle sticky cookies at HTTP message handler
pub(super) struct HandlerContext {
#[cfg(feature = "sticky-cookie")]
pub(super) context_lb: Option<LoadBalanceContext>,
pub(super) context_lb: Option<crate::backend::LoadBalanceContext>,
#[cfg(not(feature = "sticky-cookie"))]
pub(super) context_lb: Option<()>,
}

View file

@ -3,7 +3,7 @@ use crate::{
backend::{UpstreamCandidates, UpstreamOption},
log::*,
};
use anyhow::{anyhow, ensure, Result};
use anyhow::{anyhow, Result};
use bytes::BufMut;
use http::{header, HeaderMap, HeaderName, HeaderValue, Uri};
use std::{borrow::Cow, net::SocketAddr};
@ -22,6 +22,8 @@ pub(super) fn takeout_sticky_cookie_lb_context(
headers: &mut HeaderMap,
expected_cookie_name: &str,
) -> Result<Option<LoadBalanceContext>> {
use anyhow::ensure;
let mut headers_clone = headers.clone();
match headers_clone.entry(header::COOKIE) {