diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-04-06 22:06:25 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-04-06 22:06:25 +0100 |
commit | d2593e1d62ead59342490f1feae9322106afb018 (patch) | |
tree | 84a0f12efa94dd23041185b6e384e634f5c151e6 | |
parent | d98b0d9f795969e594e95b9b3d0e0f56ee1f7c41 (diff) | |
download | Nim-d2593e1d62ead59342490f1feae9322106afb018.tar.gz |
setLen now used on asyncdispatch.recv's return value on Linux.
This fixes issues with the async httpclient.
-rw-r--r-- | lib/pure/asyncdispatch.nim | 6 | ||||
-rw-r--r-- | lib/pure/httpclient.nim | 3 |
2 files changed, 2 insertions, 7 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim index 2c0f5ee61..ef2bab875 100644 --- a/lib/pure/asyncdispatch.nim +++ b/lib/pure/asyncdispatch.nim @@ -664,8 +664,7 @@ else: var retFuture = newFuture[string]() var readBuffer = newString(size) - var sizeRead = 0 - + proc cb(sock: TAsyncFD): bool = result = true let res = recv(sock.TSocketHandle, addr readBuffer[0], size, @@ -678,12 +677,11 @@ else: else: result = false # We still want this callback to be called. elif res == 0: - #echo("Disconnected recv: ", sizeRead) # Disconnected retFuture.complete("") else: + readBuffer.setLen(res) retFuture.complete(readBuffer) - #echo("Recv cb result: ", result) addRead(socket, cb) return retFuture diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index 1e3a1032c..2a145eb89 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -546,9 +546,6 @@ proc parseResponse(client: PAsyncHttpClient, # Parse HTTP version info and status code. var le = skipIgnoreCase(line, "HTTP/", linei) if le <= 0: - while true: - let nl = await client.socket.recvLine() - echo("Got another line: ", nl) httpError("invalid http version, " & line.repr) inc(linei, le) le = skipIgnoreCase(line, "1.1", linei) |