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
parent 8731:6063f9211fd1
child 9611: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;