equal
deleted
inserted
replaced
56 request.conn = nil; |
56 request.conn = nil; |
57 conn:close() |
57 conn:close() |
58 end |
58 end |
59 end |
59 end |
60 |
60 |
|
61 local function cancel_request(request, reason) |
|
62 if request.callback then |
|
63 request.callback(reason or "cancelled", 0, request); |
|
64 request.callback = nil; |
|
65 end |
|
66 if request.conn then |
|
67 destroy_request(request); |
|
68 end |
|
69 end |
|
70 |
61 local function request_reader(request, data, err) |
71 local function request_reader(request, data, err) |
62 if not request.parser then |
72 if not request.parser then |
63 local function error_cb(reason) |
73 local function error_cb(reason) |
64 if request.callback then |
74 if request.callback then |
65 request.callback(reason or "connection-closed", 0, request); |
75 request.callback(reason or "connection-closed", 0, request); |
105 log("debug", "Request '%s': Calling callback, status %s", req.id, code or "---"); |
115 log("debug", "Request '%s': Calling callback, status %s", req.id, code or "---"); |
106 return log_if_failed(req.id, xpcall(callback, handleerr, content, code, response, request)); |
116 return log_if_failed(req.id, xpcall(callback, handleerr, content, code, response, request)); |
107 end |
117 end |
108 req.reader = request_reader; |
118 req.reader = request_reader; |
109 req.state = "status"; |
119 req.state = "status"; |
|
120 req.cancel = cancel_request; |
110 |
121 |
111 requests[req.conn] = req; |
122 requests[req.conn] = req; |
112 |
123 |
113 -- Validate certificate |
124 -- Validate certificate |
114 if not req.insecure and conn:ssl() then |
125 if not req.insecure and conn:ssl() then |
316 -- COMPAT |
327 -- COMPAT |
317 urlencode = util_http.urlencode; |
328 urlencode = util_http.urlencode; |
318 urldecode = util_http.urldecode; |
329 urldecode = util_http.urldecode; |
319 formencode = util_http.formencode; |
330 formencode = util_http.formencode; |
320 formdecode = util_http.formdecode; |
331 formdecode = util_http.formdecode; |
|
332 destroy_request = destroy_request; |
321 }; |
333 }; |