-
Notifications
You must be signed in to change notification settings - Fork 0
/
handler.py
91 lines (78 loc) · 2.03 KB
/
handler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/python
import sys, os, uuid
import json, time
import tornado.web
import tornado_mysql.pools
import redis
import logging
reload(sys)
sys.setdefaultencoding('utf8')
import common
import config
logger = logging.getLogger('web')
class RequestHandler(tornado.web.RequestHandler):
def write(self, trunk):
if type(trunk) == int:
trunk = str(trunk)
super(RequestHandler, self).write(trunk)
def gen_result(self, code, message, result):
# TODO JWT
res = '{ '
res += '"code": %s, ' % code
res += '"message": "%s"' % message
if result is None:
res += ' }'
return res
if not isinstance(result, basestring) and type(result) <> int:
result = json.dumps(result, sort_keys=True)
res += '",result": %s' % result
res += ' }'
return res
def exception_handle(self, message):
# TODO missing code
logger.error(message)
self.write(self.gen_result(-1, message, '{}'))
return
def session_set(self, uid):
uu = str(uuid.uuid1())
r = common.get_redis_1()
if r is None:
logger.error('Invalid Redis connection')
return None
try:
r.set(uu, uid, ex=config.Cookie_ExpireTime)
self.set_secure_cookie('session_id', uu)
except Exception, e:
logger.error('The database operation failed (Redis.Set)')
return None
return uu
def session_rm(self):
uu = self.get_secure_cookie('session_id')
if uu is None:
return
r = common.get_redis_1()
if r is None:
logger.error('Invalid Redis connection')
return None
try:
r.delete(uu)
self.set_secure_cookie('session_id', '')
except Exception, e:
logger.error('The database operation failed (Redis.Set)')
return None
def session_get(self):
return '111'
uu = self.get_secure_cookie('session_id')
if uu is None:
return
r = common.get_redis_1()
if r is None:
logger.error('Invalid Redis connection')
return None
try:
return r.get(uu)
except Exception, e:
logger.error('The database operation failed (Redis.Set)')
return None
def get_cur_time(self):
return time.strftime('%Y-%m-%d %X',time.localtime(time.time()))