X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=libs%2Fweb%2Fluasrc%2Fhttp.lua;h=3bff28adde713c5e6fe673e3d42f52fdf4ff8a18;hp=68dad8f1ece7c1fe7e131087458ce9e0b6ba6911;hb=f8925eefa3b487c4573da63f99f6f19292ae4297;hpb=56a23c609c30cf6c477bf6523661a44821da1819 diff --git a/libs/web/luasrc/http.lua b/libs/web/luasrc/http.lua index 68dad8f1e..3bff28add 100644 --- a/libs/web/luasrc/http.lua +++ b/libs/web/luasrc/http.lua @@ -43,4 +43,20 @@ function build_querystring(table) end return s +end + +function urldecode(str) + str = str:gsub("+", " ") + str = str:gsub("%%(%x%x)", + function(h) return string.char(tonumber(h,16)) end) + str = str:gsub("\r\n", "\n") + return str +end + +function urlencode(str) + str = str:gsub("\n", "\r\n") + str = str:gsub("([^%w ])", + function (c) return string.format ("%%%02X", string.byte(c)) end) + str = str:gsub(" ", "+") + return str end \ No newline at end of file