Skip empty lines before status line
As recommended here: https://tools.ietf.org/html/rfc7230#section-3.5
This commit is contained in:
parent
0f3419685f
commit
860264a382
1 changed files with 14 additions and 7 deletions
|
|
@ -133,14 +133,21 @@ proc processClient(client: AsyncSocket, address: string,
|
|||
assert client != nil
|
||||
request.client = client
|
||||
|
||||
# First line - GET /path HTTP/1.1
|
||||
lineFut.mget().setLen(0)
|
||||
lineFut.clean()
|
||||
await client.recvLineInto(lineFut) # TODO: Timeouts.
|
||||
if lineFut.mget == "":
|
||||
client.close()
|
||||
return
|
||||
# We should skip empty lines before the request
|
||||
# https://tools.ietf.org/html/rfc7230#section-3.5
|
||||
while true:
|
||||
lineFut.mget().setLen(0)
|
||||
lineFut.clean()
|
||||
await client.recvLineInto(lineFut) # TODO: Timeouts.
|
||||
|
||||
if lineFut.mget == "":
|
||||
client.close()
|
||||
return
|
||||
|
||||
if lineFut.mget != "\c\L":
|
||||
break
|
||||
|
||||
# First line - GET /path HTTP/1.1
|
||||
var i = 0
|
||||
for linePart in lineFut.mget.split(' '):
|
||||
case i
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue