webmcp

annotate framework/env/encode/url_part.lua @ 255:9e4be058959d

New functions request.add_initializer(...) and request.add_variable(...) to allow per-request initialization; Merged request.process() with request.handler(...)
author jbe
date Sat Mar 14 23:39:47 2015 +0100 (2015-03-14)
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