diff options
author | Matthew Wild <mwild1@gmail.com> | 2020-08-08 13:14:11 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2020-08-08 13:14:11 +0100 |
commit | 99cb02cc8285c661432f0123ea2bef265591f92c (patch) | |
tree | 592338b8cd7ca65246d062e66c4c1e6fac21b74b /net/http.lua | |
parent | 7c00bae93a5034e1fdcae5ed2052439fe995a709 (diff) | |
parent | dc206f0ff429cb3da3569c633a76c74d5b4f8d1b (diff) | |
download | prosody-99cb02cc8285c661432f0123ea2bef265591f92c.tar.gz prosody-99cb02cc8285c661432f0123ea2bef265591f92c.zip |
Merge 0.11->trunk
Diffstat (limited to 'net/http.lua')
-rw-r--r-- | net/http.lua | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/http.lua b/net/http.lua index 17c755cf..f1055840 100644 --- a/net/http.lua +++ b/net/http.lua @@ -58,6 +58,16 @@ local function destroy_request(request) 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 @@ function listener.onconnect(conn) end req.reader = request_reader; req.state = "status"; + req.cancel = cancel_request; requests[req.conn] = req; @@ -318,4 +329,5 @@ return { urldecode = util_http.urldecode; formencode = util_http.formencode; formdecode = util_http.formdecode; + destroy_request = destroy_request; }; |