summaryrefslogtreecommitdiff
path: root/ext/http/request_properties.rs
diff options
context:
space:
mode:
authorhaturau <135221985+haturatu@users.noreply.github.com>2024-11-20 01:20:47 +0900
committerGitHub <noreply@github.com>2024-11-20 01:20:47 +0900
commit85719a67e59c7aa45bead26e4942d7df8b1b42d4 (patch)
treeface0aecaac53e93ce2f23b53c48859bcf1a36ec /ext/http/request_properties.rs
parent67697bc2e4a62a9670699fd18ad0dd8efc5bd955 (diff)
parent186b52731c6bb326c4d32905c5e732d082e83465 (diff)
Merge branch 'denoland:main' into main
Diffstat (limited to 'ext/http/request_properties.rs')
-rw-r--r--ext/http/request_properties.rs27
1 files changed, 13 insertions, 14 deletions
diff --git a/ext/http/request_properties.rs b/ext/http/request_properties.rs
index 1422c7417..39d35a79f 100644
--- a/ext/http/request_properties.rs
+++ b/ext/http/request_properties.rs
@@ -34,8 +34,8 @@ pub struct HttpConnectionProperties {
pub stream_type: NetworkStreamType,
}
-pub struct HttpRequestProperties {
- pub authority: Option<String>,
+pub struct HttpRequestProperties<'a> {
+ pub authority: Option<Cow<'a, str>>,
}
/// Pluggable trait to determine listen, connection and request properties
@@ -84,11 +84,11 @@ pub trait HttpPropertyExtractor {
) -> NetworkStream;
/// Determines the request properties.
- fn request_properties(
- connection_properties: &HttpConnectionProperties,
- uri: &Uri,
- headers: &HeaderMap,
- ) -> HttpRequestProperties;
+ fn request_properties<'a>(
+ connection_properties: &'a HttpConnectionProperties,
+ uri: &'a Uri,
+ headers: &'a HeaderMap,
+ ) -> HttpRequestProperties<'a>;
}
pub struct DefaultHttpPropertyExtractor {}
@@ -180,18 +180,17 @@ impl HttpPropertyExtractor for DefaultHttpPropertyExtractor {
}
}
- fn request_properties(
- connection_properties: &HttpConnectionProperties,
- uri: &Uri,
- headers: &HeaderMap,
- ) -> HttpRequestProperties {
+ fn request_properties<'a>(
+ connection_properties: &'a HttpConnectionProperties,
+ uri: &'a Uri,
+ headers: &'a HeaderMap,
+ ) -> HttpRequestProperties<'a> {
let authority = req_host(
uri,
headers,
connection_properties.stream_type,
connection_properties.local_port.unwrap_or_default(),
- )
- .map(|s| s.into_owned());
+ );
HttpRequestProperties { authority }
}