diff --git a/crates/rttp-client/src/response/mod.rs b/crates/rttp-client/src/response/mod.rs
index 75672832..70a27052 100644
--- a/crates/rttp-client/src/response/mod.rs
+++ b/crates/rttp-client/src/response/mod.rs
@@ -229,4 +229,5 @@ pub use rttp_protocol::www_authenticate::{
pub use rttp_protocol::x_content_type_options::{
XContentTypeOptions, XContentTypeOptionsParseError,
};
+pub use rttp_protocol::x_download_options::{XDownloadOptions, XDownloadOptionsParseError};
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 17e97cec..fce008ed 100644
--- a/crates/rttp-client/src/response/response.rs
+++ b/crates/rttp-client/src/response/response.rs
@@ -98,6 +98,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_download_options::XDownloadOptions;
use rttp_protocol::x_frame_options::XFrameOptions;
const MAX_CACHE_CONTROL_VALUE_BYTES: usize = 64 * 1024;
@@ -944,6 +945,17 @@ impl Response {
.map_err(|parse_error| error::bad_response(parse_error.to_string()))
}
+ /// Parses bounded `X-Download-Options` response metadata without applying download handling policy.
+ pub fn x_download_options(&self) -> error::Result