# HG changeset patch
# User Matthew Wild <mwild1@gmail.com>
# Date 1596888851 -3600
# Node ID 1f41f38a92f7007bbdacdc2db4bc7b3c488effbe
# Parent  05fefde930368c8be77a24882c06a4cb752c6a85# Parent  5176d9f727f6366af3df75ca65d7fdaddf72ed35
Merge 0.11->trunk

diff -r 05fefde93036 -r 1f41f38a92f7 net/http.lua
--- a/net/http.lua	Sat Jul 25 17:26:11 2020 +0200
+++ b/net/http.lua	Sat Aug 08 13:14:11 2020 +0100
@@ -58,6 +58,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)
@@ -107,6 +117,7 @@
 	end
 	req.reader = request_reader;
 	req.state = "status";
+	req.cancel = cancel_request;
 
 	requests[req.conn] = req;
 
@@ -318,4 +329,5 @@
 	urldecode = util_http.urldecode;
 	formencode = util_http.formencode;
 	formdecode = util_http.formdecode;
+	destroy_request = destroy_request;
 };