--- a/net/http.lua Sat Aug 08 13:11:11 2020 +0100
+++ b/net/http.lua Sat Aug 08 13:13:50 2020 +0100
@@ -56,6 +56,16 @@
end
end
+local function cancel_request(request, reason)
+ if request.callback then
+ request.callback(reason or "cancelled", 0, request);
+ request.callback = nil;
+ end
+ if request.conn then
+ destroy_request(request);
+ end
+end
+
local function request_reader(request, data, err)
if not request.parser then
local function error_cb(reason)
@@ -105,6 +115,7 @@
end
req.reader = request_reader;
req.state = "status";
+ req.cancel = cancel_request;
requests[req.conn] = req;