Fixed some recvLine deprecation warnings in httpserver module.

This commit is contained in:
Dominik Picheta 2013-03-27 23:57:39 +00:00
commit b21dda385c

View file

@ -121,7 +121,7 @@ proc executeCgi(client: TSocket, path, query: string, meth: TRequestMethod) =
var buf = TaintedString"" var buf = TaintedString""
var dataAvail = false var dataAvail = false
while dataAvail: while dataAvail:
dataAvail = recvLine(client, buf) dataAvail = recvLine(client, buf) # TODO: This is incorrect.
var L = toLower(buf.string) var L = toLower(buf.string)
if L.startsWith("content-length:"): if L.startsWith("content-length:"):
var i = len("content-length:") var i = len("content-length:")
@ -256,7 +256,7 @@ proc next*(s: var TServer) =
s.headers = newStringTable(modeCaseInsensitive) s.headers = newStringTable(modeCaseInsensitive)
#headers(s.client, "") #headers(s.client, "")
var data = "" var data = ""
while not s.client.recvLine(data): nil s.client.readLine(data)
if data == "": if data == "":
# Socket disconnected # Socket disconnected
s.client.close() s.client.close()
@ -264,7 +264,7 @@ proc next*(s: var TServer) =
return return
var header = "" var header = ""
while true: while true:
if s.client.recvLine(header): s.client.readLine(header)
if header == "\c\L": break if header == "\c\L": break
if header != "": if header != "":
var i = 0 var i = 0
@ -382,14 +382,14 @@ proc nextAsync(s: PAsyncHTTPServer) =
s.headers = newStringTable(modeCaseInsensitive) s.headers = newStringTable(modeCaseInsensitive)
#headers(s.client, "") #headers(s.client, "")
var data = "" var data = ""
while not s.client.recvLine(data): nil s.client.readLine(data)
if data == "": if data == "":
# Socket disconnected # Socket disconnected
s.client.close() s.client.close()
return return
var header = "" var header = ""
while true: while true:
if s.client.recvLine(header): s.client.readLine(header) # TODO: Very inefficient here. Prone to DOS.
if header == "\c\L": break if header == "\c\L": break
if header != "": if header != "":
var i = 0 var i = 0