Software /
code /
prosody
Comparison
net/http.lua @ 2672:215d448d69d0
net.http: Close connection when invalid status line is received from the server
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 19 Feb 2010 03:21:50 +0000 |
parent | 2671:2dd69e1f7055 |
child | 2673:61ae351c19b5 |
comparison
equal
deleted
inserted
replaced
2671:2dd69e1f7055 | 2672:215d448d69d0 |
---|---|
105 elseif request.state == "status" then | 105 elseif request.state == "status" then |
106 print("Reading status...") | 106 print("Reading status...") |
107 local http, code, text, linelen = data:match("^HTTP/(%S+) (%d+) (.-)\r\n()", startpos); | 107 local http, code, text, linelen = data:match("^HTTP/(%S+) (%d+) (.-)\r\n()", startpos); |
108 code = tonumber(code); | 108 code = tonumber(code); |
109 if not code then | 109 if not code then |
110 return request.callback("invalid-status-line", 0, request); | 110 log("warn", "Invalid HTTP status line, telling callback then closing"); |
111 local ret = request.callback("invalid-status-line", 0, request); | |
112 destroy_request(request); | |
113 return ret; | |
111 end | 114 end |
112 | 115 |
113 request.code, request.responseversion = code, http; | 116 request.code, request.responseversion = code, http; |
114 | 117 |
115 if request.onlystatus then | 118 if request.onlystatus then |