Software /
code /
prosody
Diff
net/http.lua @ 617:b17fd66b7e10
HTTP request callbacks now: handler(code, content) (where code may be 0, and content an error message)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 12 Dec 2008 04:16:35 +0000 |
parent | 616:69bc5782b25e |
child | 618:69de678792d6 |
line wrap: on
line diff
--- a/net/http.lua Fri Dec 12 04:06:15 2008 +0000 +++ b/net/http.lua Fri Dec 12 04:16:35 2008 +0000 @@ -27,10 +27,10 @@ local function request_reader(request, data, startpos) if not data then if request.body then - request.callback(t_concat(request.body)); + request.callback(request.code, t_concat(request.body)); else -- Error.. connection was closed prematurely - request.callback(nil, "connection-closed"); + request.callback(0, "connection-closed"); end destroy_request(request); return; @@ -47,7 +47,7 @@ if request.havebodylength >= request.bodylength then -- We have the body if request.callback then - request.callback(t_concat(request.body)); + request.callback(request.code, t_concat(request.body)); end end print("", "Have "..request.havebodylength.." bytes out of "..request.bodylength); @@ -78,14 +78,14 @@ print("Reading status...") local http, code, text, linelen = data:match("^HTTP/(%S+) (%d+) (.-)\r\n()", startpos); if not code then - return request.callback(nil, "invalid-status-line", data); + return request.callback(0, "invalid-status-line"); end request.responsecode, request.responseversion = code, http; if request.onlystatus or not expectbody(request, tonumber(code)) then if request.callback then - request.callback(code); + request.callback(code, nil); end destroy_request(request); return;