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 --//-- |