Mercurial > prosody-hg
comparison plugins/mod_http.lua @ 4721:1c6c4c53f08a
mod_http: Routes now require a method to be specified, but the path has become optional (defaults to the base path with no trailing '/'
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 27 Apr 2012 18:37:40 +0100 |
| parents | fddc2797a96a |
| children | a8c234332258 |
comparison
equal
deleted
inserted
replaced
| 4720:fddc2797a96a | 4721:1c6c4c53f08a |
|---|---|
| 16 return path; | 16 return path; |
| 17 end | 17 end |
| 18 | 18 |
| 19 local function get_http_event(host, app_path, key) | 19 local function get_http_event(host, app_path, key) |
| 20 local method, path = key:match("^(%S+)%s+(.+)$"); | 20 local method, path = key:match("^(%S+)%s+(.+)$"); |
| 21 if not method then | 21 if not method then -- No path specified, default to "" (base path) |
| 22 if key:sub(1,1) ~= "/" then | 22 method, path = key, ""; |
| 23 return nil; | |
| 24 end | |
| 25 method, path = "GET", key; | |
| 26 end | 23 end |
| 27 path = normalize_path(path); | 24 if method:sub(1,1) == "/" then |
| 25 return nil; | |
| 26 end | |
| 28 return method:upper().." "..host..app_path..path; | 27 return method:upper().." "..host..app_path..path; |
| 29 end | 28 end |
| 30 | 29 |
| 31 local function get_base_path(host_module, app_name, default_app_path) | 30 local function get_base_path(host_module, app_name, default_app_path) |
| 32 return host_module:get_option("http_paths", {})[app_name] -- Host | 31 return host_module:get_option("http_paths", {})[app_name] -- Host |
