From 6a83bc1ff57807f2bc6676da545dee79876ffb75 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Sun, 25 Sep 2016 00:10:07 +0200 Subject: [PATCH] HTTP client's request proc no longer slices http method string param. --- lib/pure/httpclient.nim | 9 +++++---- web/news/version_0_15_released.rst | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index c11fa5f577..4d5b6e26ca 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -649,7 +649,7 @@ proc downloadFile*(url: string, outputFilename: string, proc generateHeaders(requestUrl: Uri, httpMethod: string, headers: HttpHeaders, body: string, proxy: Proxy): string = # GET - result = substr(httpMethod, len("http")).toUpper() + result = httpMethod.toUpper() result.add ' ' if proxy.isNil: @@ -1010,14 +1010,15 @@ proc request*(client: HttpClient | AsyncHttpClient, url: string, if not client.headers.hasKey("user-agent") and client.userAgent != "": client.headers["User-Agent"] = client.userAgent - var headers = generateHeaders(requestUrl, $httpMethod, + var headers = generateHeaders(requestUrl, httpMethod, client.headers, body, client.proxy) await client.socket.send(headers) if body != "": await client.socket.send(body) - result = await parseResponse(client, httpMethod notin {HttpHead, HttpConnect}) + result = await parseResponse(client, + httpMethod.toLower() notin ["head", "connect"]) # Restore the clients proxy in case it was overwritten. client.proxy = savedProxy @@ -1033,7 +1034,7 @@ proc request*(client: HttpClient | AsyncHttpClient, url: string, ## ## When a request is made to a different hostname, the current connection will ## be closed. - result = await request(client, url, $httpMethod, body) + result = await request(client, url, substr($httpMethod, len("http")), body) proc get*(client: HttpClient | AsyncHttpClient, url: string): Future[Response] {.multisync.} = diff --git a/web/news/version_0_15_released.rst b/web/news/version_0_15_released.rst index dea893ed13..d4a37dab93 100644 --- a/web/news/version_0_15_released.rst +++ b/web/news/version_0_15_released.rst @@ -65,6 +65,11 @@ that have tuple name: - ``AsyncHttpClient.headers`` type is now ``HttpHeaders``. +- The ``httpclient.request`` procedure that takes the ``httpMethod`` as a string + value no longer requires this value to be prefixed with ``"http"`` + (or similar). + + Library Additions -----------------