Mercurial > prosody-hg
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 |
| parents | e5ec60dfb202 |
| children | 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 |
