Mercurial > prosody-hg
comparison net/http.lua @ 9562:acf74ad0b795
Many things: switch from hacky multi-arg xpcall implementations to a standard util.xpcall
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 26 Oct 2018 19:32:00 +0100 |
| parents | 6063f9211fd1 |
| children | 2700317f93e4 |
comparison
equal
deleted
inserted
replaced
| 9561:cfc7b2f7251e | 9562:acf74ad0b795 |
|---|---|
| 18 | 18 |
| 19 local ssl_available = pcall(require, "ssl"); | 19 local ssl_available = pcall(require, "ssl"); |
| 20 | 20 |
| 21 local t_insert, t_concat = table.insert, table.concat; | 21 local t_insert, t_concat = table.insert, table.concat; |
| 22 local pairs = pairs; | 22 local pairs = pairs; |
| 23 local tonumber, tostring, xpcall, traceback = | 23 local tonumber, tostring, traceback = |
| 24 tonumber, tostring, xpcall, debug.traceback; | 24 tonumber, tostring, debug.traceback; |
| 25 local xpcall = require "util.xpcall".xpcall; | |
| 25 local error = error | 26 local error = error |
| 26 local setmetatable = setmetatable; | 27 local setmetatable = setmetatable; |
| 27 | 28 |
| 28 local log = require "util.logger".init("http"); | 29 local log = require "util.logger".init("http"); |
| 29 | 30 |
| 99 req.http.events.fire_event("response", event); | 100 req.http.events.fire_event("response", event); |
| 100 content, code, response = event.content, event.code, event.response; | 101 content, code, response = event.content, event.code, event.response; |
| 101 end | 102 end |
| 102 | 103 |
| 103 log("debug", "Request '%s': Calling callback, status %s", req.id, code or "---"); | 104 log("debug", "Request '%s': Calling callback, status %s", req.id, code or "---"); |
| 104 return log_if_failed(req.id, xpcall(function () return callback(content, code, response, request) end, handleerr)); | 105 return log_if_failed(req.id, xpcall(callback, handleerr, content, code, response, request)); |
| 105 end | 106 end |
| 106 req.reader = request_reader; | 107 req.reader = request_reader; |
| 107 req.state = "status"; | 108 req.state = "status"; |
| 108 | 109 |
| 109 requests[req.conn] = req; | 110 requests[req.conn] = req; |
