mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 14:00:35 +00:00
* Fix https://github.com/nim-lang/Nim/issues/13573 and https://github.com/nim-lang/Nim/issues/13574 * Restored asynchttpserver
This commit is contained in:
@@ -105,11 +105,15 @@ proc newHttpHeaders*(): HttpHeaders =
|
||||
|
||||
proc newHttpHeaders*(keyValuePairs:
|
||||
openArray[tuple[key: string, val: string]]): HttpHeaders =
|
||||
var pairs: seq[tuple[key: string, val: seq[string]]] = @[]
|
||||
for pair in keyValuePairs:
|
||||
pairs.add((pair.key.toLowerAscii(), @[pair.val]))
|
||||
new result
|
||||
result.table = newTable[string, seq[string]](pairs)
|
||||
result.table = newTable[string, seq[string]]()
|
||||
for pair in keyValuePairs:
|
||||
let key = pair.key.toLowerAscii()
|
||||
if key in result.table:
|
||||
result.table[key].add(pair.val)
|
||||
else:
|
||||
result.table[key] = @[pair.val]
|
||||
|
||||
|
||||
proc `$`*(headers: HttpHeaders): string =
|
||||
return $headers.table
|
||||
|
||||
@@ -4,7 +4,7 @@ output: "[Suite] httpcore"
|
||||
|
||||
import unittest
|
||||
|
||||
import httpcore
|
||||
import httpcore, strutils
|
||||
|
||||
suite "httpcore":
|
||||
|
||||
@@ -29,3 +29,8 @@ suite "httpcore":
|
||||
assert "baR" in h["cookiE"]
|
||||
h.del("coOKie")
|
||||
assert h.len == 0
|
||||
|
||||
# Test that header constructor works with repeated values
|
||||
let h1 = newHttpHeaders({"a": "1", "a": "2", "A": "3"})
|
||||
|
||||
assert seq[string](h1["a"]).join(",") == "1,2,3"
|
||||
|
||||
Reference in New Issue
Block a user