mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 05:50:30 +00:00
Added uri module.
This commit is contained in:
35
lib/pure/uri.nim
Normal file
35
lib/pure/uri.nim
Normal file
@@ -0,0 +1,35 @@
|
||||
#
|
||||
#
|
||||
# Nimrod's Runtime Library
|
||||
# (c) Copyright 2012 Dominik Picheta
|
||||
#
|
||||
# See the file "copying.txt", included in this
|
||||
# distribution, for details about the copyright.
|
||||
#
|
||||
import strutils
|
||||
type
|
||||
TUrl* = distinct string
|
||||
|
||||
proc `$`*(url: TUrl): string = return string(url)
|
||||
|
||||
proc `/`*(a, b: TUrl): TUrl =
|
||||
## Joins two URLs together, separating them with / if needed.
|
||||
var urlS = $a
|
||||
var bS = $b
|
||||
echo(urlS, " & ", bS)
|
||||
if urlS == "": return b
|
||||
if urlS[urlS.len-1] != '/':
|
||||
urlS.add('/')
|
||||
if bS[0] == '/':
|
||||
urlS.add(bS.substr(1))
|
||||
else:
|
||||
urlS.add(bs)
|
||||
result = TUrl(urlS)
|
||||
echo(result)
|
||||
|
||||
proc add*(url: var TUrl, a: TUrl) =
|
||||
## Appends url to url.
|
||||
url = url / a
|
||||
|
||||
when isMainModule:
|
||||
assert($("http://".TUrl / "localhost:5000".TUrl) == "http://localhost:5000")
|
||||
Reference in New Issue
Block a user