From 5a4afbef8422d67e31be85172a735db9ac464009 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Thu, 3 Apr 2014 20:06:59 +0100 Subject: [PATCH] Proper handling of disconnections during reading in httpclient. --- lib/pure/httpclient.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index 68adf5f492..fea045221d 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -453,7 +453,9 @@ proc recvFull(socket: PAsyncSocket, size: int): PFuture[string] {.async.} = result = "" while true: if size == result.len: break - result.add await socket.recv(size - result.len) + let data = await socket.recv(size - result.len) + if data == "": break # We've been disconnected. + result.add data proc parseChunks(client: PAsyncHttpClient): PFuture[string] {.async.} = result = ""