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) | ||