util.session: How does a session relate do a connection?
[prosody.git] / util / session.lua
1 local logger = require "util.logger";
2
3 local function new_session(typ)
4         local session = {
5                 type = typ .. "_unauthed";
6         };
7         return session;
8 end
9
10 local function set_id(session)
11         local id = typ .. tostring(session):match("%x+$"):lower();
12         session.id = id;
13         return session;
14 end
15
16 local function set_logger(session)
17         local log = logger.init(id);
18         session.log = log;
19         return session;
20 end
21
22 local function set_conn(session, conn)
23         session.conn = conn;
24         session.ip = conn:ip();
25         return session;
26 end
27
28 return {
29         new = new_session;
30         set_id = set_id;
31         set_logger = set_logger;
32         set_conn = set_conn;
33 }