Comparison

net/http/parser.lua @ 5259:c85c348253bd

net.http.parser: Skip url.parse when we don't have a full URL (also fixes traceback on paths starting with '//').
author Waqas Hussain <waqas20@gmail.com>
date Fri, 21 Dec 2012 13:37:39 +0500
parent 5222:61c47d26481d
child 5291:01f7522049fb
comparison
equal deleted inserted replaced
5257:b125892e187c 5259:c85c348253bd
89 -- COMPAT the properties below are deprecated 89 -- COMPAT the properties below are deprecated
90 responseversion = httpversion; 90 responseversion = httpversion;
91 responseheaders = headers; 91 responseheaders = headers;
92 }; 92 };
93 else 93 else
94 local parsed_url = url_parse(path); 94 local parsed_url;
95 if path:byte() == 47 then -- starts with /
96 local _path, _query = path:match("([^?]*).?(.*)");
97 if _query == "" then _query = nil; end
98 parsed_url = { path = _path, query = _query };
99 else
100 parsed_url = url_parse(path);
101 end
95 path = preprocess_path(parsed_url.path); 102 path = preprocess_path(parsed_url.path);
96 headers.host = parsed_url.host or headers.host; 103 headers.host = parsed_url.host or headers.host;
97 104
98 len = len or 0; 105 len = len or 0;
99 packet = { 106 packet = {