Mercurial > prosody-hg
comparison net/http.lua @ 6780:647adfd8f738
net.*: Remove use of module() function
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 21 Feb 2015 10:45:24 +0100 |
| parents | 71b6e8b48a12 |
| children | e813e8cf6046 3b07f38d70f5 |
comparison
equal
deleted
inserted
replaced
| 6779:6236668da30a | 6780:647adfd8f738 |
|---|---|
| 22 tonumber, tostring, xpcall, select, debug.traceback; | 22 tonumber, tostring, xpcall, select, debug.traceback; |
| 23 local assert, error = assert, error | 23 local assert, error = assert, error |
| 24 | 24 |
| 25 local log = require "util.logger".init("http"); | 25 local log = require "util.logger".init("http"); |
| 26 | 26 |
| 27 module "http" | 27 local _ENV = nil; |
| 28 | 28 |
| 29 local requests = {}; -- Open requests | 29 local requests = {}; -- Open requests |
| 30 | 30 |
| 31 local listener = { default_port = 80, default_mode = "*a" }; | 31 local listener = { default_port = 80, default_mode = "*a" }; |
| 32 | 32 |
| 72 requests[conn] = nil; | 72 requests[conn] = nil; |
| 73 end | 73 end |
| 74 | 74 |
| 75 function listener.ondetach(conn) | 75 function listener.ondetach(conn) |
| 76 requests[conn] = nil; | 76 requests[conn] = nil; |
| 77 end | |
| 78 | |
| 79 local function destroy_request(request) | |
| 80 if request.conn then | |
| 81 request.conn = nil; | |
| 82 request.handler:close() | |
| 83 end | |
| 77 end | 84 end |
| 78 | 85 |
| 79 local function request_reader(request, data, err) | 86 local function request_reader(request, data, err) |
| 80 if not request.parser then | 87 if not request.parser then |
| 81 local function error_cb(reason) | 88 local function error_cb(reason) |
| 105 end | 112 end |
| 106 request.parser:feed(data); | 113 request.parser:feed(data); |
| 107 end | 114 end |
| 108 | 115 |
| 109 local function handleerr(err) log("error", "Traceback[http]: %s", traceback(tostring(err), 2)); end | 116 local function handleerr(err) log("error", "Traceback[http]: %s", traceback(tostring(err), 2)); end |
| 110 function request(u, ex, callback) | 117 local function request(u, ex, callback) |
| 111 local req = url.parse(u); | 118 local req = url.parse(u); |
| 112 | 119 |
| 113 if not (req and req.host) then | 120 if not (req and req.host) then |
| 114 callback(nil, 0, req); | 121 callback(nil, 0, req); |
| 115 return nil, "invalid-url"; | 122 return nil, "invalid-url"; |
| 187 | 194 |
| 188 requests[req.handler] = req; | 195 requests[req.handler] = req; |
| 189 return req; | 196 return req; |
| 190 end | 197 end |
| 191 | 198 |
| 192 function destroy_request(request) | 199 return { |
| 193 if request.conn then | 200 request = request; |
| 194 request.conn = nil; | 201 |
| 195 request.handler:close() | 202 -- COMPAT |
| 196 end | 203 urlencode = util_http.urlencode; |
| 197 end | 204 urldecode = util_http.urldecode; |
| 198 | 205 formencode = util_http.formencode; |
| 199 local urlencode, urldecode = util_http.urlencode, util_http.urldecode; | 206 formdecode = util_http.formdecode; |
| 200 local formencode, formdecode = util_http.formencode, util_http.formdecode; | 207 }; |
| 201 | |
| 202 _M.urlencode, _M.urldecode = urlencode, urldecode; | |
| 203 _M.formencode, _M.formdecode = formencode, formdecode; | |
| 204 | |
| 205 return _M; |
