webmcp
annotate framework/env/request/handler.lua @ 221:25a20bd1f416
More work on Moonbridge integration: several changes in env/request
author | jbe |
---|---|
date | Wed Feb 25 01:33:27 2015 +0100 (2015-02-25) |
parents | fd0360594636 |
children | 3db6f3ad0703 |
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@221 | 14 local relative_baseurl_elements = {} |
jbe@215 | 15 for match in string.gmatch(path, "/") do |
jbe@221 | 16 relative_baseurl_elements[#relative_baseurl_elements+1] = "../" |
jbe@215 | 17 end |
jbe@221 | 18 request._relative_baseurl = table.concat(relative_baseurl_elements) |
jbe@215 | 19 else |
jbe@215 | 20 request._relative_baseurl = nil |
jbe@215 | 21 end |
jbe@221 | 22 request._route = request.router() |
jbe@221 | 23 request.process() |
jbe@215 | 24 end |
jbe@210 | 25 |
jbe@215 | 26 --//-- |