Software /
code /
prosody
File
net/httpserver_listener.lua @ 917:f12f88b3d4a1
util.set: Rename private items container, optimise set.difference() and add set.intersection()
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 23 Mar 2009 01:49:22 +0000 |
parent | 634:1af93ea23f96 |
child | 1522:569d58d21612 |
line wrap: on
line source
local connlisteners_register = require "net.connlisteners".register; local new_request = require "net.httpserver".new_request; local request_reader = require "net.httpserver".request_reader; local requests = {}; -- Open requests local httpserver = { default_port = 80, default_mode = "*a" }; function httpserver.listener(conn, data) local request = requests[conn]; if not request then request = new_request(conn); requests[conn] = request; end if data then request_reader(request, data); end end function httpserver.disconnect(conn, err) local request = requests[conn]; if request and not request.destroyed then request.conn = nil; request_reader(request, nil); end requests[conn] = nil; end connlisteners_register("httpserver", httpserver);