# HG changeset patch # User Matthew Wild # Date 1335449105 -3600 # Node ID 98bfebb38705ca569e0b0918e43edf55b8a9ba63 # Parent 0e324923ff959020a28c4a94b9978527b22c64e5 net.server.http: Parse absolute URIs in requests (thanks Maranda) diff -r 0e324923ff95 -r 98bfebb38705 net/http/server.lua --- a/net/http/server.lua Thu Apr 26 14:51:55 2012 +0100 +++ b/net/http/server.lua Thu Apr 26 15:05:05 2012 +0100 @@ -1,6 +1,7 @@ local t_insert, t_remove, t_concat = table.insert, table.remove, table.concat; local parser_new = require "net.http.parser".new; +local url_parse = require "socket.url".parse; local events = require "util.events".new(); local addserver = require "net.server".addserver; local log = require "util.logger".init("http.server"); @@ -101,6 +102,9 @@ local function success_cb(request) --log("debug", "success_cb: %s", request.path); request.secure = secure; + local parsed_dest = url_parse(request.path); + request.url = parsed_dest; + request.path = parsed_dest.path; t_insert(pending, request); if not waiting then process_next();