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 |