aboutsummaryrefslogtreecommitdiff
path: root/src/ftp.lua
diff options
context:
space:
mode:
authorDiego Nehab <diego.nehab@gmail.com>2016-03-04 14:38:56 -0300
committerDiego Nehab <diego.nehab@gmail.com>2016-03-04 14:38:56 -0300
commitcdce73b226cc4da6a073b79bec02a6780d32ff1a (patch)
treef47dd46096b92b520607d11cb81ac3376a12976c /src/ftp.lua
parentfe7b37acedd61f425b8d0b0531e78cc45554b332 (diff)
downloadluasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.tar.gz
luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.tar.bz2
luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.zip
Added support for FTP command lists
Diffstat (limited to 'src/ftp.lua')
-rw-r--r--src/ftp.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/ftp.lua b/src/ftp.lua
index 917cd89..e0c3cae 100644
--- a/src/ftp.lua
+++ b/src/ftp.lua
@@ -271,8 +271,17 @@ _M.command = socket.protect(function(cmdt)
271 local f = _M.open(cmdt.host, cmdt.port, cmdt.create) 271 local f = _M.open(cmdt.host, cmdt.port, cmdt.create)
272 f:greet() 272 f:greet()
273 f:login(cmdt.user, cmdt.password) 273 f:login(cmdt.user, cmdt.password)
274 f.try(f.tp:command(cmdt.command, cmdt.argument)) 274 if type(cmdt.command) == "table" then
275 if cmdt.check then f.try(f.tp:check(cmdt.check)) end 275 local argument = cmdt.argument or {}
276 local check = cmdt.check or {}
277 for i,cmd in ipairs(cmdt.command) do
278 f.try(f.tp:command(cmd, argument[i]))
279 if check[i] then f.try(f.tp:check(check[i])) end
280 end
281 else
282 f.try(f.tp:command(cmdt.command, cmdt.argument))
283 if cmdt.check then f.try(f.tp:check(cmdt.check)) end
284 end
276 f:quit() 285 f:quit()
277 return f:close() 286 return f:close()
278end) 287end)
@@ -282,4 +291,4 @@ _M.get = socket.protect(function(gett)
282 else return tget(gett) end 291 else return tget(gett) end
283end) 292end)
284 293
285return _M \ No newline at end of file 294return _M