Comparison

net/http/parser.lua @ 5207:c5edb08fc7cb

net.http.parser: Collapse multiple consecutive slashes in a path to a single slash
author Matthew Wild <mwild1@gmail.com>
date Thu, 29 Nov 2012 07:38:00 +0500
parent 4910:e5ec60dfb202
child 5222:61c47d26481d
comparison
equal deleted inserted replaced
5204:0b4f680ea116 5207:c5edb08fc7cb
3 local assert = assert; 3 local assert = assert;
4 local url_parse = require "socket.url".parse; 4 local url_parse = require "socket.url".parse;
5 local urldecode = require "net.http".urldecode; 5 local urldecode = require "net.http".urldecode;
6 6
7 local function preprocess_path(path) 7 local function preprocess_path(path)
8 path = urldecode(path); 8 path = urldecode((path:gsub("//+". "/")));
9 if path:sub(1,1) ~= "/" then 9 if path:sub(1,1) ~= "/" then
10 path = "/"..path; 10 path = "/"..path;
11 end 11 end
12 local level = 0; 12 local level = 0;
13 for component in path:gmatch("([^/]+)/") do 13 for component in path:gmatch("([^/]+)/") do