diff --git a/src/client/conn.rs b/src/client/conn.rs index 91a8551705..6746f441e7 100644 --- a/src/client/conn.rs +++ b/src/client/conn.rs @@ -560,6 +560,7 @@ impl Builder { h1_parser_config: Default::default(), h1_title_case_headers: false, h1_preserve_header_case: false, + #[cfg(feature = "ffi")] h1_preserve_header_order: false, h1_max_buf_size: None, #[cfg(feature = "ffi")] @@ -966,9 +967,11 @@ impl Builder { if opts.h1_title_case_headers { conn.set_title_case_headers(); } + #[cfg(feature = "ffi")] if opts.h1_preserve_header_case { conn.set_preserve_header_case(); } + #[cfg(feature = "ffi")] if opts.h1_preserve_header_order { conn.set_preserve_header_order(); } diff --git a/src/ext.rs b/src/ext.rs index 59a01ca964..863e83f682 100644 --- a/src/ext.rs +++ b/src/ext.rs @@ -5,6 +5,7 @@ use http::header::HeaderName; #[cfg(feature = "http1")] use http::header::{IntoHeaderName, ValueIter}; use http::HeaderMap; +#[cfg(feature = "ffi")] use std::collections::HashMap; #[cfg(feature = "http2")] use std::fmt; @@ -123,6 +124,7 @@ impl HeaderCaseMap { } } +#[cfg(feature = "ffi")] #[derive(Clone, Debug)] /// Hashmap pub(crate) struct OriginalHeaderOrder { diff --git a/src/proto/h1/role.rs b/src/proto/h1/role.rs index 4c933f42ed..b2e885a217 100644 --- a/src/proto/h1/role.rs +++ b/src/proto/h1/role.rs @@ -16,7 +16,9 @@ use crate::body::DecodedLength; #[cfg(feature = "server")] use crate::common::date; use crate::error::Parse; -use crate::ext::{HeaderCaseMap, OriginalHeaderOrder}; +use crate::ext::HeaderCaseMap; +#[cfg(feature = "ffi")] +use crate::ext::OriginalHeaderOrder; use crate::headers; use crate::proto::h1::{ Encode, Encoder, Http1Transaction, ParseContext, ParseResult, ParsedMessage, @@ -316,6 +318,7 @@ impl Http1Transaction for Server { extensions.insert(header_case_map); } + #[cfg(feature = "ffi")] if let Some(header_order) = header_order { extensions.insert(header_order); } @@ -1043,6 +1046,7 @@ impl Http1Transaction for Client { extensions.insert(header_case_map); } + #[cfg(feature = "ffi")] if let Some(header_order) = header_order { extensions.insert(header_order); }