webmcp
annotate framework/env/request/handler.lua @ 215:ba3dd4a17e3d
Some code cleanup/rearrangement for request handling
| author | jbe |
|---|---|
| date | Mon Jan 12 01:48:11 2015 +0100 (2015-01-12) |
| parents | 47ebf4213716 |
| children | fd0360594636 |
| rev | line source |
|---|---|
| jbe@215 | 1 --[[-- |
| jbe@215 | 2 request.handler( |
| jbe@215 | 3 request -- HTTP request object |
| jbe@215 | 4 ) |
| jbe@215 | 5 |
| jbe@215 | 6 Called by mcp.lua to process an HTTP request. Performs some initializations, then calls request.router(). |
| jbe@215 | 7 |
| jbe@215 | 8 --]]-- |
| jbe@210 | 9 |
| jbe@210 | 10 function request.handler(http_request) |
| jbe@212 | 11 request._http_request = http_request |
| jbe@215 | 12 local path = http_request.path |
| jbe@215 | 13 if path then |
| jbe@215 | 14 local elements = {} |
| jbe@215 | 15 for match in string.gmatch(path, "/") do |
| jbe@215 | 16 elements[#elements+1] = "../" |
| jbe@215 | 17 end |
| jbe@215 | 18 elements[#elements] = nil |
| jbe@215 | 19 if #elements > 0 then |
| jbe@215 | 20 request._relative_baseurl = table.concat(elements) |
| jbe@215 | 21 else |
| jbe@215 | 22 request._relative_baseurl = "./" |
| jbe@215 | 23 end |
| jbe@215 | 24 else |
| jbe@215 | 25 request._relative_baseurl = nil |
| jbe@215 | 26 end |
| jbe@215 | 27 request.router() |
| jbe@215 | 28 end |
| jbe@210 | 29 |
| jbe@215 | 30 --//-- |