webmcp
annotate framework/env/encode/url_part.lua @ 506:83b3882dc31b
New functions moonhash.shake128(data, len, alphabet), moonhash.shake256(data, len, alphabet)
Removed moonhash.shake128_128(...)
Removed moonhash.shake128_128(...)
author | jbe |
---|---|
date | Wed Aug 16 00:31:11 2017 +0200 (2017-08-16) |
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 |