webmcp

annotate framework/env/encode/url_part.lua @ 406:36f0d1d5ed7d

Further fixes in mondelefant.connect{...} (including proper handling of garbage collection in case of memory allocation errors); Code cleanup (use luaL_setmetatable, which is available since Lua 5.2)
author jbe
date Wed Jan 06 18:59:58 2016 +0100 (2016-01-06)
parents 9fdfb27f8e67
children
rev   line source
jbe/bsw@0 1 --[[--
jbe/bsw@0 2 url_encoded_string = -- URL-encoded string
jbe/bsw@0 3 encode.url_part(
jbe/bsw@0 4 obj -- any native datatype or atom
jbe/bsw@0 5 )
jbe/bsw@0 6
jbe/bsw@0 7 This function encodes any native datatype or atom in a way that it can be placed inside an URL. It is first dumped with atom.dump(...) and then url-encoded.
jbe/bsw@0 8
jbe/bsw@0 9 --]]--
jbe/bsw@0 10
jbe/bsw@0 11 function encode.url_part(obj)
jbe/bsw@0 12 return (
jbe/bsw@0 13 string.gsub(
jbe/bsw@0 14 atom.dump(obj),
jbe/bsw@0 15 "[^0-9A-Za-z_%.~-]",
jbe/bsw@0 16 function (char)
jbe/bsw@0 17 return string.format("%%%02x", string.byte(char))
jbe/bsw@0 18 end
jbe/bsw@0 19 )
jbe/bsw@0 20 )
jbe/bsw@0 21 end

Impressum / About Us