diff options
| author | Herbert Leuwer <herbert.leuwer@t-online.de> | 2017-11-19 19:48:37 +0100 |
|---|---|---|
| committer | Herbert Leuwer <herbert.leuwer@t-online.de> | 2017-11-19 19:48:37 +0100 |
| commit | 3ee89515a0ef4852f64b13133c22aa7d3a322cfd (patch) | |
| tree | 5f6e5b938c5b0cbab508eae937d8e1c91f3763b7 | |
| parent | 5a17f79b0301f0a1b4c7f1c73388757a7e2ed309 (diff) | |
| download | luasocket-3ee89515a0ef4852f64b13133c22aa7d3a322cfd.tar.gz luasocket-3ee89515a0ef4852f64b13133c22aa7d3a322cfd.tar.bz2 luasocket-3ee89515a0ef4852f64b13133c22aa7d3a322cfd.zip | |
fixed URL parsing in url.lua: parse fragment after parsing username and password.
| -rw-r--r-- | src/url.lua | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/url.lua b/src/url.lua index d61111e..6448853 100644 --- a/src/url.lua +++ b/src/url.lua | |||
| @@ -131,11 +131,6 @@ function _M.parse(url, default) | |||
| 131 | if not url or url == "" then return nil, "invalid url" end | 131 | if not url or url == "" then return nil, "invalid url" end |
| 132 | -- remove whitespace | 132 | -- remove whitespace |
| 133 | -- url = string.gsub(url, "%s", "") | 133 | -- url = string.gsub(url, "%s", "") |
| 134 | -- get fragment | ||
| 135 | url = string.gsub(url, "#(.*)$", function(f) | ||
| 136 | parsed.fragment = f | ||
| 137 | return "" | ||
| 138 | end) | ||
| 139 | -- get scheme | 134 | -- get scheme |
| 140 | url = string.gsub(url, "^([%w][%w%+%-%.]*)%:", | 135 | url = string.gsub(url, "^([%w][%w%+%-%.]*)%:", |
| 141 | function(s) parsed.scheme = s; return "" end) | 136 | function(s) parsed.scheme = s; return "" end) |
| @@ -149,6 +144,11 @@ function _M.parse(url, default) | |||
| 149 | parsed.query = q | 144 | parsed.query = q |
| 150 | return "" | 145 | return "" |
| 151 | end) | 146 | end) |
| 147 | -- get fragment | ||
| 148 | url = string.gsub(url, "#(.*)$", function(f) | ||
| 149 | parsed.fragment = f | ||
| 150 | return "" | ||
| 151 | end) | ||
| 152 | -- get params | 152 | -- get params |
| 153 | url = string.gsub(url, "%;(.*)", function(p) | 153 | url = string.gsub(url, "%;(.*)", function(p) |
| 154 | parsed.params = p | 154 | parsed.params = p |
