diff --git a/crates/rttp-client/src/response/mod.rs b/crates/rttp-client/src/response/mod.rs
index 4c6c51df..bd0162a7 100644
--- a/crates/rttp-client/src/response/mod.rs
+++ b/crates/rttp-client/src/response/mod.rs
@@ -8,6 +8,9 @@ pub use rttp_protocol::access_control_allow_headers::{
pub use rttp_protocol::access_control_allow_methods::{
AccessControlAllowMethods, AccessControlAllowMethodsParseError,
};
+pub use rttp_protocol::access_control_allow_origin::{
+ AccessControlAllowOrigin, AccessControlAllowOriginParseError,
+};
pub use rttp_protocol::access_control_expose_headers::{
AccessControlExposeHeaders, AccessControlExposeHeadersParseError,
};
diff --git a/crates/rttp-client/src/response/response.rs b/crates/rttp-client/src/response/response.rs
index 04bf84cd..c393eda0 100644
--- a/crates/rttp-client/src/response/response.rs
+++ b/crates/rttp-client/src/response/response.rs
@@ -17,6 +17,7 @@ use crate::response::WwwAuthenticate;
use crate::types::{Cookie, Header, RoUrl};
use rttp_protocol::access_control_allow_headers::AccessControlAllowHeaders;
use rttp_protocol::access_control_allow_methods::AccessControlAllowMethods;
+use rttp_protocol::access_control_allow_origin::AccessControlAllowOrigin;
use rttp_protocol::access_control_expose_headers::AccessControlExposeHeaders;
use rttp_protocol::access_control_max_age::AccessControlMaxAge;
use rttp_protocol::clear_site_data::ClearSiteData;
@@ -353,6 +354,18 @@ impl Response {
.map_err(|parse_error| error::bad_response(parse_error.to_string()))
}
+ /// Parses bounded `Access-Control-Allow-Origin` response metadata without
+ /// applying CORS origin policy.
+ pub fn access_control_allow_origin(&self) -> error::Result