added isAbsolute to uri.nim
This commit is contained in:
parent
e8a00b805f
commit
9626919cd3
1 changed files with 15 additions and 0 deletions
|
|
@ -245,6 +245,10 @@ proc combine*(uris: varargs[Uri]): Uri =
|
||||||
for i in 1 .. <uris.len:
|
for i in 1 .. <uris.len:
|
||||||
result = combine(result, uris[i])
|
result = combine(result, uris[i])
|
||||||
|
|
||||||
|
proc isAbsolute*(uri: Uri): bool =
|
||||||
|
## returns true if URI is absolute, false otherwise
|
||||||
|
return uri.scheme != "" and (uri.hostname != "" or uri.path != "")
|
||||||
|
|
||||||
proc `/`*(x: Uri, path: string): Uri =
|
proc `/`*(x: Uri, path: string): Uri =
|
||||||
## Concatenates the path specified to the specified URI's path.
|
## Concatenates the path specified to the specified URI's path.
|
||||||
##
|
##
|
||||||
|
|
@ -452,3 +456,14 @@ when isMainModule:
|
||||||
block:
|
block:
|
||||||
let foo = parseUri("http://example.com") / "/baz"
|
let foo = parseUri("http://example.com") / "/baz"
|
||||||
doAssert foo.path == "/baz"
|
doAssert foo.path == "/baz"
|
||||||
|
|
||||||
|
# isAbsolute tests
|
||||||
|
block:
|
||||||
|
doAssert "www.google.com".parseUri().isAbsolute() == false
|
||||||
|
doAssert "http://www.google.com".parseUri().isAbsolute() == true
|
||||||
|
doAssert "/search".parseUri().isAbsolute() == false
|
||||||
|
doAssert "file:/dir/file".parseUri().isAbsolute() == true
|
||||||
|
doAssert "file://localhost/dir/file".parseUri().isAbsolute() == true
|
||||||
|
doAssert "https://example.org/URI/resource.txt".parseUri().isAbsolute() == true
|
||||||
|
doAssert "urn:ISSN:1535–3613".parseUri().isAbsolute() == true
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue