From 4d01d2062c983ecd68044094d8d5effe712dcdd5 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Sun, 14 Sep 2014 00:18:12 +0000 Subject: Create html.url_encode function to percent-encode reserved characters --- html.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'html.lua') diff --git a/html.lua b/html.lua index 5b1b444..0b51a54 100644 --- a/html.lua +++ b/html.lua @@ -44,6 +44,16 @@ function mymodule.html_escape (text ) return (string.gsub (str, '"', """ )) end +-- percent-encode reserved characters according to RFC3986 (except space to '+') +function mymodule.url_encode ( text ) + local str = text or "" + str = string.gsub (str, "\n", "\r\n") + str = string.gsub (str, "([^%w ])", + function (c) return string.format ("%%%02X", string.byte(c)) end) + str = string.gsub (str, " ", "+") + return str +end + -- return a name,value pair as a string. local nv_pair = function ( name, value) if ( name == nil ) then -- cgit v1.2.3