aboutsummaryrefslogtreecommitdiff
path: root/src/http.lua
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2004-01-19 05:41:30 +0000
committerDiego Nehab <diego@tecgraf.puc-rio.br>2004-01-19 05:41:30 +0000
commit5b8d7dec541a618b4ca7f2205470a28cde2e3e25 (patch)
tree209ad0c80c9a938068401fc5b8fa51942972418f /src/http.lua
parent6ac82d50eecdf9bf55f4234ed3a5449afd7a2992 (diff)
downloadluasocket-5b8d7dec541a618b4ca7f2205470a28cde2e3e25.tar.gz
luasocket-5b8d7dec541a618b4ca7f2205470a28cde2e3e25.tar.bz2
luasocket-5b8d7dec541a618b4ca7f2205470a28cde2e3e25.zip
Updated some of the callbacks in callback.lua.
Update get.lua to use the new callbacks. The old "code" module is now the "mime" module. Updated all modules that depended on it. Updated url.lua to use the new namespace scheme, and moved the escape and unescape functions that used to be in the code.lua module to it, since these are specific to urls. Updated the callback entries in the manual.
Diffstat (limited to 'src/http.lua')
-rw-r--r--src/http.lua25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/http.lua b/src/http.lua
index fb13d99..72bde0a 100644
--- a/src/http.lua
+++ b/src/http.lua
@@ -421,7 +421,7 @@ end
421----------------------------------------------------------------------------- 421-----------------------------------------------------------------------------
422local function authorize(reqt, parsed, respt) 422local function authorize(reqt, parsed, respt)
423 reqt.headers["authorization"] = "Basic " .. 423 reqt.headers["authorization"] = "Basic " ..
424 (socket.code.b64(parsed.user .. ":" .. parsed.password)) 424 (socket.mime.b64(parsed.user .. ":" .. parsed.password))
425 local autht = { 425 local autht = {
426 nredirects = reqt.nredirects, 426 nredirects = reqt.nredirects,
427 method = reqt.method, 427 method = reqt.method,
@@ -429,8 +429,8 @@ local function authorize(reqt, parsed, respt)
429 body_cb = reqt.body_cb, 429 body_cb = reqt.body_cb,
430 headers = reqt.headers, 430 headers = reqt.headers,
431 timeout = reqt.timeout, 431 timeout = reqt.timeout,
432 host = reqt.host, 432 proxyhost = reqt.proxyhost,
433 port = reqt.port 433 proxyport = reqt.proxyport
434 } 434 }
435 return request_cb(autht, respt) 435 return request_cb(autht, respt)
436end 436end
@@ -471,8 +471,8 @@ local function redirect(reqt, respt)
471 body_cb = reqt.body_cb, 471 body_cb = reqt.body_cb,
472 headers = reqt.headers, 472 headers = reqt.headers,
473 timeout = reqt.timeout, 473 timeout = reqt.timeout,
474 host = reqt.host, 474 proxyhost = reqt.proxyhost,
475 port = reqt.port 475 proxyport = reqt.proxyport
476 } 476 }
477 respt = request_cb(redirt, respt) 477 respt = request_cb(redirt, respt)
478 -- we pass the location header as a clue we tried to redirect 478 -- we pass the location header as a clue we tried to redirect
@@ -482,8 +482,8 @@ end
482 482
483----------------------------------------------------------------------------- 483-----------------------------------------------------------------------------
484-- Computes the request URI from the parsed request URL 484-- Computes the request URI from the parsed request URL
485-- If host and port are given in the request table, we use he 485-- If we are using a proxy, we use the absoluteURI format.
486-- absoluteURI format. Otherwise, we use the abs_path format. 486-- Otherwise, we use the abs_path format.
487-- Input 487-- Input
488-- parsed: parsed URL 488-- parsed: parsed URL
489-- Returns 489-- Returns
@@ -491,7 +491,7 @@ end
491----------------------------------------------------------------------------- 491-----------------------------------------------------------------------------
492local function request_uri(reqt, parsed) 492local function request_uri(reqt, parsed)
493 local url 493 local url
494 if not reqt.host and not reqt.port then 494 if not reqt.proxyhost and not reqt.proxyport then
495 url = { 495 url = {
496 path = parsed.path, 496 path = parsed.path,
497 params = parsed.params, 497 params = parsed.params,
@@ -543,6 +543,7 @@ end
543-- error: error message, or nil if successfull 543-- error: error message, or nil if successfull
544----------------------------------------------------------------------------- 544-----------------------------------------------------------------------------
545function request_cb(reqt, respt) 545function request_cb(reqt, respt)
546 local sock, ret
546 local parsed = socket.url.parse(reqt.url, { 547 local parsed = socket.url.parse(reqt.url, {
547 host = "", 548 host = "",
548 port = PORT, 549 port = PORT,
@@ -561,14 +562,14 @@ function request_cb(reqt, respt)
561 -- fill default headers 562 -- fill default headers
562 reqt.headers = fill_headers(reqt.headers, parsed) 563 reqt.headers = fill_headers(reqt.headers, parsed)
563 -- try to connect to server 564 -- try to connect to server
564 local sock
565 sock, respt.error = socket.tcp() 565 sock, respt.error = socket.tcp()
566 if not sock then return respt end 566 if not sock then return respt end
567 -- set connection timeout so that we do not hang forever 567 -- set connection timeout so that we do not hang forever
568 sock:settimeout(reqt.timeout or TIMEOUT) 568 sock:settimeout(reqt.timeout or TIMEOUT)
569 local ret 569 ret, respt.error = sock:connect(
570 ret, respt.error = sock:connect(reqt.host or parsed.host, 570 reqt.proxyhost or PROXYHOST or parsed.host,
571 reqt.port or parsed.port) 571 reqt.proxyport or PROXYPORT or parsed.port
572 )
572 if not ret then 573 if not ret then
573 sock:close() 574 sock:close()
574 return respt 575 return respt