diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-04-02 21:28:45 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-04-02 21:28:45 +0100 |
commit | e4e87f1cb2fe01a4462f7b0e3d347389f173beff (patch) | |
tree | 1fddbea3d5bb827799e303d4c33dcd873a509214 /lib/pure/httpclient.nim | |
parent | 5dc28cc9a782ee928551485ebab95f3bbae31eed (diff) | |
download | Nim-e4e87f1cb2fe01a4462f7b0e3d347389f173beff.tar.gz |
Refactored createCb in asyncdispatch.
Diffstat (limited to 'lib/pure/httpclient.nim')
-rw-r--r-- | lib/pure/httpclient.nim | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index 62d9bea7c..9799821ae 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -432,7 +432,6 @@ proc generateHeaders(r: TURL, httpMethod: THttpMethod, type PAsyncHttpClient = ref object socket: PAsyncSocket - connected: bool currentURL: TURL ## Where we are currently connected. headers: PStringTable userAgent: string @@ -548,24 +547,16 @@ proc parseResponse(client: PAsyncHttpClient, else: result.body = "" -proc close*(client: PAsyncHttpClient) = - ## Closes any connections held by the HttpClient. - if client.connected: - client.socket.close() - client.connected = false - #client.socket = newAsyncSocket() - proc newConnection(client: PAsyncHttpClient, url: TURL) {.async.} = - if not client.connected or client.currentURL.hostname != url.hostname or + if client.currentURL.hostname != url.hostname or client.currentURL.scheme != url.scheme: - if client.connected: client.close() if url.scheme == "https": assert false, "TODO SSL" # TODO: I should be able to write 'net.TPort' here... let port = if url.port == "": rawsockets.TPort(80) - else: rawsockets.TPort(url.port.parseInt) + else: rawsockets.TPort(url.port.parseInt) await client.socket.connect(url.hostname, port) client.currentURL = url @@ -597,10 +588,10 @@ when isMainModule: echo("Body:\n") echo(resp.body) - #var resp1 = await client.request("http://freenode.net") - #echo("Got response: ", resp1.status) + var resp1 = await client.request("http://picheta.me/aboutme.html") + echo("Got response: ", resp1.status) - var resp2 = await client.request("http://picheta.me/aasfasgf.html") + var resp2 = await client.request("http://picheta.me/aboutme.html") echo("Got response: ", resp2.status) main() runForever() |