|
|
@@ -83,8 +83,13 @@ public:
|
|
|
* to replace everything after the hostname with the contents of relative.
|
|
|
*/
|
|
|
URI operator/(URI const & relative) const {
|
|
|
- std::string div = uri_.ends_with("/") || relative.uri_.starts_with("/") ? "" : "/";
|
|
|
- return URI(uri_ + div + relative.uri_);
|
|
|
+ if (relative.uri_.starts_with("/")) {
|
|
|
+ return URI(uri_ + relative.uri_);
|
|
|
+ }
|
|
|
+ if (relative.uri_.starts_with("./")) {
|
|
|
+ return URI(uri_ + relative.uri_.substr(1));
|
|
|
+ }
|
|
|
+ return URI(uri_ + "/" + relative.uri_);
|
|
|
}
|
|
|
|
|
|
/**
|