diff options
author | Dominik Picheta <dominikpicheta@gmail.com> | 2016-06-02 18:40:13 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@gmail.com> | 2016-06-02 18:40:13 +0100 |
commit | b33fbedec0c875f966ab674404d0b4561a410ef7 (patch) | |
tree | eeeeb8770f3a4113fbb814ed1735bc012238a03d | |
parent | 3074973f5473985691a03d9374a5b88e9151a5b4 (diff) | |
download | Nim-b33fbedec0c875f966ab674404d0b4561a410ef7.tar.gz |
httpclient now uses httpcore.HttpHeaders
-rw-r--r-- | lib/pure/httpclient.nim | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index d59b8ecfe..dfc2b5abb 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -80,17 +80,17 @@ ## currently only basic authentication is supported. import net, strutils, uri, parseutils, strtabs, base64, os, mimetypes, - math, random + math, random, httpcore import asyncnet, asyncdispatch import nativesockets -export strtabs +export httpcore except parseHeader # TODO: The ``except`` doesn't work type Response* = tuple[ version: string, status: string, - headers: StringTableRef, + headers: HttpHeaders, body: string] Proxy* = ref object @@ -167,7 +167,7 @@ proc parseChunks(s: Socket, timeout: int): string = # Trailer headers will only be sent if the request specifies that we want # them: http://tools.ietf.org/html/rfc2616#section-3.6.1 -proc parseBody(s: Socket, headers: StringTableRef, timeout: int): string = +proc parseBody(s: Socket, headers: HttpHeaders, timeout: int): string = result = "" if headers.getOrDefault"Transfer-Encoding" == "chunked": result = parseChunks(s, timeout) @@ -207,7 +207,7 @@ proc parseResponse(s: Socket, getBody: bool, timeout: int): Response = var linei = 0 var fullyRead = false var line = "" - result.headers = newStringTable(modeCaseInsensitive) + result.headers = newHttpHeaders() while true: line = "" linei = 0 @@ -458,7 +458,7 @@ proc redirection(status: string): bool = if status.startsWith(i): return true -proc getNewLocation(lastURL: string, headers: StringTableRef): string = +proc getNewLocation(lastURL: string, headers: HttpHeaders): string = result = headers.getOrDefault"Location" if result == "": httpError("location header expected") # Relative URLs. (Not part of the spec, but soon will be.) @@ -681,7 +681,7 @@ proc parseChunks(client: AsyncHttpClient): Future[string] {.async.} = # them: http://tools.ietf.org/html/rfc2616#section-3.6.1 proc parseBody(client: AsyncHttpClient, - headers: StringTableRef): Future[string] {.async.} = + headers: HttpHeaders): Future[string] {.async.} = result = "" if headers.getOrDefault"Transfer-Encoding" == "chunked": result = await parseChunks(client) @@ -716,7 +716,7 @@ proc parseResponse(client: AsyncHttpClient, var linei = 0 var fullyRead = false var line = "" - result.headers = newStringTable(modeCaseInsensitive) + result.headers = newHttpHeaders() while true: linei = 0 line = await client.socket.recvLine() |