Mercurial > prosody-hg
comparison net/http/server.lua @ 7579:d430573fe9f8
net.http.server: Expose way to set http server options
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 18 Aug 2016 14:50:39 +0200 |
| parents | 015f2b4e2f9a |
| children | 01d0d466d7be |
comparison
equal
deleted
inserted
replaced
| 7578:65bf55fdf971 | 7579:d430573fe9f8 |
|---|---|
| 17 | 17 |
| 18 local sessions = {}; | 18 local sessions = {}; |
| 19 local listener = {}; | 19 local listener = {}; |
| 20 local hosts = {}; | 20 local hosts = {}; |
| 21 local default_host; | 21 local default_host; |
| 22 local options = {}; | |
| 22 | 23 |
| 23 local function is_wildcard_event(event) | 24 local function is_wildcard_event(event) |
| 24 return event:sub(-2, -1) == "/*"; | 25 return event:sub(-2, -1) == "/*"; |
| 25 end | 26 end |
| 26 local function is_wildcard_match(wildcard_event, event) | 27 local function is_wildcard_match(wildcard_event, event) |
| 128 -- FIXME don't close immediately, wait until we process current stuff | 129 -- FIXME don't close immediately, wait until we process current stuff |
| 129 -- FIXME if err, send off a bad-request response | 130 -- FIXME if err, send off a bad-request response |
| 130 sessions[conn] = nil; | 131 sessions[conn] = nil; |
| 131 conn:close(); | 132 conn:close(); |
| 132 end | 133 end |
| 133 sessions[conn] = parser_new(success_cb, error_cb); | 134 local function options_cb() |
| 135 return options; | |
| 136 end | |
| 137 sessions[conn] = parser_new(success_cb, error_cb, "server", options_cb); | |
| 134 end | 138 end |
| 135 | 139 |
| 136 function listener.ondisconnect(conn) | 140 function listener.ondisconnect(conn) |
| 137 local open_response = conn._http_open_response; | 141 local open_response = conn._http_open_response; |
| 138 if open_response and open_response.on_destroy then | 142 if open_response and open_response.on_destroy then |
| 298 default_host = host; | 302 default_host = host; |
| 299 end | 303 end |
| 300 function _M.fire_event(event, ...) | 304 function _M.fire_event(event, ...) |
| 301 return events.fire_event(event, ...); | 305 return events.fire_event(event, ...); |
| 302 end | 306 end |
| 307 function _M.set_option(name, value) | |
| 308 options[name] = value; | |
| 309 end | |
| 303 | 310 |
| 304 _M.listener = listener; | 311 _M.listener = listener; |
| 305 _M.codes = codes; | 312 _M.codes = codes; |
| 306 _M._events = events; | 313 _M._events = events; |
| 307 return _M; | 314 return _M; |
