diff options
-rwxr-xr-x | lib/devel/httpclient.nim | 20 | ||||
-rwxr-xr-x | web/news.txt | 1 |
2 files changed, 8 insertions, 13 deletions
diff --git a/lib/devel/httpclient.nim b/lib/devel/httpclient.nim index 83b7e8984..54f9321a1 100755 --- a/lib/devel/httpclient.nim +++ b/lib/devel/httpclient.nim @@ -68,7 +68,6 @@ proc parseChunks(d: var string, start: int, s: TSocket): string = while true: var chunkSize = 0 var digitFound = false - echo "number: ", copy(d, i, i + 10) while true: case d[i] of '0'..'9': @@ -85,12 +84,8 @@ proc parseChunks(d: var string, start: int, s: TSocket): string = i = -1 else: break inc(i) - - echo "chunksize: ", chunkSize - if chunkSize <= 0: - echo copy(d, i) - assert digitFound - break + if not digitFound: httpError("Chunksize expected") + if chunkSize <= 0: break while charAt(d, i, s) notin {'\C', '\L', '\0'}: inc(i) if charAt(d, i, s) == '\C': inc(i) if charAt(d, i, s) == '\L': inc(i) @@ -99,20 +94,19 @@ proc parseChunks(d: var string, start: int, s: TSocket): string = var x = copy(d, i, i+chunkSize-1) var size = x.len result.add(x) - + inc(i, size) if size < chunkSize: # read in the rest: var missing = chunkSize - size var L = result.len - setLen(result, L + missing) + setLen(result, L + missing) while missing > 0: var bytesRead = s.recv(addr(result[L]), missing) inc(L, bytesRead) dec(missing, bytesRead) - - # next chunk: - d = s.recv() - i = 0 + # next chunk: + d = s.recv() + i = 0 # skip trailing CR-LF: while charAt(d, i, s) in {'\C', '\L'}: inc(i) diff --git a/web/news.txt b/web/news.txt index 9186a3593..4a2736b67 100755 --- a/web/news.txt +++ b/web/news.txt @@ -24,6 +24,7 @@ Additions --------- - Added ``system.cstringArrayToSeq``. - Added ``system.lines(f: TFile)`` iterator. +- Added ``system.delete``, ``system.del`` and ``system.insert`` for sequences. - Added ``cgi.decodeData(data: string): tuple[key, value: string]``. - Added ``ropes`` module. - Added ``sockets`` module. |