diff --git a/crates/rttp-client/src/response/mod.rs b/crates/rttp-client/src/response/mod.rs
index 4d6c227c..f524dda4 100644
--- a/crates/rttp-client/src/response/mod.rs
+++ b/crates/rttp-client/src/response/mod.rs
@@ -248,4 +248,7 @@ pub use rttp_protocol::www_authenticate::{
pub use rttp_protocol::x_content_type_options::{
XContentTypeOptions, XContentTypeOptionsParseError,
};
+pub use rttp_protocol::x_dns_prefetch_control::{
+ XDnsPrefetchControl, XDnsPrefetchControlParseError,
+};
pub use rttp_protocol::x_frame_options::{XFrameOptions, XFrameOptionsParseError};
diff --git a/crates/rttp-client/src/response/response.rs b/crates/rttp-client/src/response/response.rs
index f7f7ffe1..18987a3d 100644
--- a/crates/rttp-client/src/response/response.rs
+++ b/crates/rttp-client/src/response/response.rs
@@ -101,6 +101,7 @@ use rttp_protocol::timing_allow_origin::TimingAllowOrigin;
use rttp_protocol::variant_vary::VariantVary;
use rttp_protocol::vary::Vary;
use rttp_protocol::x_content_type_options::XContentTypeOptions;
+use rttp_protocol::x_dns_prefetch_control::XDnsPrefetchControl;
use rttp_protocol::x_frame_options::XFrameOptions;
const MAX_CACHE_CONTROL_VALUE_BYTES: usize = 64 * 1024;
@@ -968,6 +969,18 @@ impl Response {
.map_err(|parse_error| error::bad_response(parse_error.to_string()))
}
+ /// Parses bounded `X-DNS-Prefetch-Control` response metadata without
+ /// applying DNS-prefetch behavior.
+ pub fn x_dns_prefetch_control(&self) -> error::Result