aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Leuwer <herbert.leuwer@t-online.de>2017-11-19 19:48:37 +0100
committerHerbert Leuwer <herbert.leuwer@t-online.de>2017-11-19 19:48:37 +0100
commit3ee89515a0ef4852f64b13133c22aa7d3a322cfd (patch)
tree5f6e5b938c5b0cbab508eae937d8e1c91f3763b7
parent5a17f79b0301f0a1b4c7f1c73388757a7e2ed309 (diff)
downloadluasocket-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.lua10
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