refactor(uri): Add default path for absolute-form
Add default path ("/") for absolute-form, even if not included.
This change assumes self.scheme().is_some() indicates that the Uri
is in absolute-form.
Issue:
https://github.com/hyperium/hyper/issues/1022
This commit is contained in:
@@ -88,6 +88,9 @@ impl Uri {
|
||||
let end = self.source.len() - if query_len > 0 { query_len + 1 } else { 0 } -
|
||||
if fragment_len > 0 { fragment_len + 1 } else { 0 };
|
||||
if index >= end {
|
||||
if self.scheme().is_some() {
|
||||
return "/" // absolute-form MUST have path
|
||||
}
|
||||
""
|
||||
} else {
|
||||
&self.source[index..end]
|
||||
@@ -317,7 +320,7 @@ test_parse! {
|
||||
"http://127.0.0.1:80",
|
||||
|
||||
scheme = Some("http"),
|
||||
authority = Some("127.0.0.1"),
|
||||
authority = Some("127.0.0.1:80"),
|
||||
path = "/",
|
||||
query = None,
|
||||
fragment = None,
|
||||
@@ -328,7 +331,7 @@ test_parse! {
|
||||
"https://127.0.0.1:443",
|
||||
|
||||
scheme = Some("https"),
|
||||
authority = Some("127.0.0.1"),
|
||||
authority = Some("127.0.0.1:443"),
|
||||
path = "/",
|
||||
query = None,
|
||||
fragment = None,
|
||||
|
||||
Reference in New Issue
Block a user