diff options
Diffstat (limited to 'samples/b64.lua')
| -rw-r--r-- | samples/b64.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/samples/b64.lua b/samples/b64.lua new file mode 100644 index 0000000..11eeb2d --- /dev/null +++ b/samples/b64.lua | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | ----------------------------------------------------------------------------- | ||
| 2 | -- Little program to convert to and from Base64 | ||
| 3 | -- LuaSocket sample files | ||
| 4 | -- Author: Diego Nehab | ||
| 5 | ----------------------------------------------------------------------------- | ||
| 6 | local ltn12 = require("ltn12") | ||
| 7 | local mime = require("mime") | ||
| 8 | local source = ltn12.source.file(io.stdin) | ||
| 9 | local sink = ltn12.sink.file(io.stdout) | ||
| 10 | local convert | ||
| 11 | if arg and arg[1] == '-d' then | ||
| 12 | convert = mime.decode("base64") | ||
| 13 | else | ||
| 14 | local base64 = mime.encode("base64") | ||
| 15 | local wrap = mime.wrap() | ||
| 16 | convert = ltn12.filter.chain(base64, wrap) | ||
| 17 | end | ||
| 18 | sink = ltn12.sink.chain(convert, sink) | ||
| 19 | ltn12.pump.all(source, sink) | ||
