diff options
Diffstat (limited to 'lib/pure/uri.nim')
-rw-r--r-- | lib/pure/uri.nim | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/pure/uri.nim b/lib/pure/uri.nim index f0a3796a5..e7db39c10 100644 --- a/lib/pure/uri.nim +++ b/lib/pure/uri.nim @@ -264,6 +264,11 @@ proc `/`*(x: Uri, path: string): Uri = ## let bar = parseUri("http://example.com/foo/bar/") / "baz" ## assert bar.path == "/foo/bar/baz" result = x + + if result.path.len == 0: + result.path = path + return + if result.path[result.path.len-1] == '/': if path[0] == '/': result.path.add(path[1 .. path.len-1]) @@ -442,3 +447,8 @@ when isMainModule: # bug #3207 block: doAssert parseUri("http://qq/1").combine(parseUri("https://qqq")).`$` == "https://qqq" + + # bug #4959 + block: + let foo = parseUri("http://example.com") / "/baz" + doAssert foo.path == "/baz" |