aboutsummaryrefslogtreecommitdiff
path: root/src/ftp.lua
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2004-06-04 15:15:45 +0000
committerDiego Nehab <diego@tecgraf.puc-rio.br>2004-06-04 15:15:45 +0000
commit9ed7f955e5fc69af9bf1794fa2c8cd227981ba24 (patch)
tree8c3521366ef84f534bbec278437be7ea24e2ac1c /src/ftp.lua
parent63d60223da9de60f873ca08a25dbd9512c998929 (diff)
downloadluasocket-9ed7f955e5fc69af9bf1794fa2c8cd227981ba24.tar.gz
luasocket-9ed7f955e5fc69af9bf1794fa2c8cd227981ba24.tar.bz2
luasocket-9ed7f955e5fc69af9bf1794fa2c8cd227981ba24.zip
Só pra não perder se der merda.
Diffstat (limited to 'src/ftp.lua')
-rw-r--r--src/ftp.lua41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/ftp.lua b/src/ftp.lua
index 842fdbb..79772f8 100644
--- a/src/ftp.lua
+++ b/src/ftp.lua
@@ -5,21 +5,22 @@
5-- Conforming to: RFC 959, LTN7 5-- Conforming to: RFC 959, LTN7
6-- RCS ID: $Id$ 6-- RCS ID: $Id$
7----------------------------------------------------------------------------- 7-----------------------------------------------------------------------------
8-- make sure LuaSocket is loaded 8
9require("socket") 9-----------------------------------------------------------------------------
10-- get LuaSocket namespace 10-- Load other required modules
11local socket = _G[LUASOCKET_LIBNAME] 11-----------------------------------------------------------------------------
12 12local socket = require("socket")
13-- require other modules 13local ltn12 = require("ltn12")
14require("ltn12") 14local url = require("url")
15require("url") 15local tp = require("tp")
16require("tp") 16
17 17-----------------------------------------------------------------------------
18-- create namespace inside LuaSocket namespace 18-- Setup namespace
19socket.ftp = socket.ftp or {} 19-----------------------------------------------------------------------------
20local ftp = {}
20-- make all module globals fall into namespace 21-- make all module globals fall into namespace
21setmetatable(socket.ftp, { __index = _G }) 22setmetatable(ftp, { __index = _G })
22setfenv(1, socket.ftp) 23setfenv(1, ftp)
23 24
24----------------------------------------------------------------------------- 25-----------------------------------------------------------------------------
25-- Program constants 26-- Program constants
@@ -196,8 +197,8 @@ local default = {
196 scheme = "ftp" 197 scheme = "ftp"
197} 198}
198 199
199local function parse(url) 200local function parse(u)
200 local putt = socket.try(socket.url.parse(url, default)) 201 local putt = socket.try(url.parse(u, default))
201 socket.try(putt.scheme == "ftp", "invalid scheme '" .. putt.scheme .. "'") 202 socket.try(putt.scheme == "ftp", "invalid scheme '" .. putt.scheme .. "'")
202 socket.try(putt.host, "invalid host") 203 socket.try(putt.host, "invalid host")
203 local pat = "^type=(.)$" 204 local pat = "^type=(.)$"
@@ -208,8 +209,8 @@ local function parse(url)
208 return putt 209 return putt
209end 210end
210 211
211local function sput(url, body) 212local function sput(u, body)
212 local putt = parse(url) 213 local putt = parse(u)
213 putt.source = ltn12.source.string(body) 214 putt.source = ltn12.source.string(body)
214 return tput(putt) 215 return tput(putt)
215end 216end
@@ -230,8 +231,8 @@ local function tget(gett)
230 return ftp:close() 231 return ftp:close()
231end 232end
232 233
233local function sget(url, body) 234local function sget(u, body)
234 local gett = parse(url) 235 local gett = parse(u)
235 local t = {} 236 local t = {}
236 gett.sink = ltn12.sink.table(t) 237 gett.sink = ltn12.sink.table(t)
237 tget(gett) 238 tget(gett)