diff -r 355eae2f9ba8 -r 5176d9f727f6 net/http.lua --- 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;