Skip to content

Commit c993b8c

Browse files
committed
Do not always require an authority
This fixes connections where a local path is provided, for example when using UNIX domain sockets. Signed-off-by: Sascha Grunert <[email protected]>
1 parent a193237 commit c993b8c

File tree

1 file changed

+0
-20
lines changed

1 file changed

+0
-20
lines changed

src/server.rs

-20
Original file line numberDiff line numberDiff line change
@@ -1390,19 +1390,6 @@ impl proto::Peer for Peer {
13901390
// Convert the URI
13911391
let mut parts = uri::Parts::default();
13921392

1393-
// A request translated from HTTP/1 must not include the :authority
1394-
// header
1395-
if let Some(authority) = pseudo.authority {
1396-
let maybe_authority = uri::Authority::from_maybe_shared(authority.clone().into_inner());
1397-
parts.authority = Some(maybe_authority.or_else(|why| {
1398-
malformed!(
1399-
"malformed headers: malformed authority ({:?}): {}",
1400-
authority,
1401-
why,
1402-
)
1403-
})?);
1404-
}
1405-
14061393
// A :scheme is required, except CONNECT.
14071394
if let Some(scheme) = pseudo.scheme {
14081395
if is_connect {
@@ -1416,13 +1403,6 @@ impl proto::Peer for Peer {
14161403
why,
14171404
)
14181405
})?;
1419-
1420-
// It's not possible to build an `Uri` from a scheme and path. So,
1421-
// after validating is was a valid scheme, we just have to drop it
1422-
// if there isn't an :authority.
1423-
if parts.authority.is_some() {
1424-
parts.scheme = Some(scheme);
1425-
}
14261406
} else if !is_connect {
14271407
malformed!("malformed headers: missing scheme");
14281408
}

0 commit comments

Comments
 (0)