Software /
code /
prosody
Comparison
net/httpclient_listener.lua @ 1235:be8b51a8ab03
Automated merge with http://waqas.ath.cx:8000/
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 30 May 2009 13:49:38 +0100 |
parent | 1227:6a587ca99109 |
child | 1522:569d58d21612 |
comparison
equal
deleted
inserted
replaced
1234:0ff02499f05c | 1235:be8b51a8ab03 |
---|---|
1 local log = require "util.logger".init("httpclient_listener"); | |
1 | 2 |
2 local connlisteners_register = require "net.connlisteners".register; | 3 local connlisteners_register = require "net.connlisteners".register; |
3 | |
4 | 4 |
5 local requests = {}; -- Open requests | 5 local requests = {}; -- Open requests |
6 local buffers = {}; -- Buffers of partial lines | 6 local buffers = {}; -- Buffers of partial lines |
7 | 7 |
8 local httpclient = { default_port = 80, default_mode = "*a" }; | 8 local httpclient = { default_port = 80, default_mode = "*a" }; |
9 | 9 |
10 function httpclient.listener(conn, data) | 10 function httpclient.listener(conn, data) |
11 local request = requests[conn]; | 11 local request = requests[conn]; |
12 | 12 |
13 if not request then | 13 if not request then |
14 print("NO REQUEST!! for "..tostring(conn)); | 14 log("warn", "Received response from connection %s with no request attached!", tostring(conn)); |
15 return; | 15 return; |
16 end | 16 end |
17 | 17 |
18 if data and request.reader then | 18 if data and request.reader then |
19 request:reader(data); | 19 request:reader(data); |
27 end | 27 end |
28 requests[conn] = nil; | 28 requests[conn] = nil; |
29 end | 29 end |
30 | 30 |
31 function httpclient.register_request(conn, req) | 31 function httpclient.register_request(conn, req) |
32 print("Registering a request for "..tostring(conn)); | 32 log("debug", "Attaching request %s to connection %s", tostring(req.id or req), tostring(conn)); |
33 requests[conn] = req; | 33 requests[conn] = req; |
34 end | 34 end |
35 | 35 |
36 connlisteners_register("httpclient", httpclient); | 36 connlisteners_register("httpclient", httpclient); |