From d2593e1d62ead59342490f1feae9322106afb018 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Sun, 6 Apr 2014 22:06:25 +0100 Subject: [PATCH] setLen now used on asyncdispatch.recv's return value on Linux. This fixes issues with the async httpclient. --- lib/pure/asyncdispatch.nim | 6 ++---- 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 2c0f5ee612..ef2bab875b 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 1e3a1032c8..2a145eb89f 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)