webmcp
annotate framework/env/encode/url_part.lua @ 159:ddb9b9b0d210
Removed json.isnull function from JSON library (use json.type(...) == "null" instead)
| author | jbe | 
|---|---|
| date | Thu Jul 31 03:54:57 2014 +0200 (2014-07-31) | 
| 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 |