aboutsummaryrefslogtreecommitdiff
path: root/src/Uri.cpp
diff options
context:
space:
mode:
authorRichard Walters <rwalters@digitalstirling.com>2018-07-02 22:46:12 -0700
committerRichard Walters <rwalters@digitalstirling.com>2018-07-02 22:46:12 -0700
commit4cadf8d3bceb7a1bf419a44503072c3bce9913a7 (patch)
tree6b12a52f2bc6aebdc208fb8311061a8e4c5c3888 /src/Uri.cpp
parentda0d3dc2ad7c3339c9b31b3c54e16d5fd8902b2f (diff)
Recognize special case of absolute URI with empty path
Such a URI should be considered equivalent to a path of "/" because in both cases the path is an absolute path.
Diffstat (limited to 'src/Uri.cpp')
-rw-r--r--src/Uri.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Uri.cpp b/src/Uri.cpp
index 309ce88..2d549c2 100644
--- a/src/Uri.cpp
+++ b/src/Uri.cpp
@@ -671,6 +671,15 @@ namespace Uri {
return false;
}
+ // Handle special case of absolute URI with empty
+ // path -- treat the same as "/" path.
+ if (
+ !impl_->scheme.empty()
+ && impl_->path.empty()
+ ) {
+ impl_->path.push_back("");
+ }
+
// Next, parse the fragment if there is one.
if (!impl_->ParseFragment(queryAndOrFragment, rest)) {
return false;