diff options
author | Richard Walters <rwalters@digitalstirling.com> | 2018-07-02 22:46:12 -0700 |
---|---|---|
committer | Richard Walters <rwalters@digitalstirling.com> | 2018-07-02 22:46:12 -0700 |
commit | 4cadf8d3bceb7a1bf419a44503072c3bce9913a7 (patch) | |
tree | 6b12a52f2bc6aebdc208fb8311061a8e4c5c3888 /src/Uri.cpp | |
parent | da0d3dc2ad7c3339c9b31b3c54e16d5fd8902b2f (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.cpp | 9 |
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; |