1 | var kick = require('../kick')
|
2 | , http = require('http')
|
3 | , profiler = require('v8-profiler')
|
4 | , connect = require('connect')
|
5 | , redisClient = require('redis').createClient()
|
6 | , RedisStore = require('connect-redis')(connect);
|
7 |
|
8 | var app = module.exports = kick();
|
9 |
|
10 | app.use(connect.cookieParser('secret'));
|
11 |
|
12 | var connectSession = connect.session({ store: new RedisStore, secret: 'keyboard cat' })
|
13 |
|
14 | var kickSession = function(req, res, next) {
|
15 | redisClient.hgetall('sess:foo', function(err, data){
|
16 | req.session = data || {}
|
17 | next(err)
|
18 | })
|
19 | }
|
20 |
|
21 | app.get('/set-connect-session', connectSession, function(req, res) {
|
22 | if(!req.session) {
|
23 | res.writeHead(500)
|
24 | res.end()
|
25 | } else {
|
26 | req.session.username = 'username'
|
27 | res.end()
|
28 | }
|
29 | })
|
30 |
|
31 | app.get('/get-connect-session', connectSession, function(req, res) {
|
32 | if(!req.session) {
|
33 | res.writeHead(500)
|
34 | res.end()
|
35 | } else {
|
36 | res.end(req.session.username)
|
37 | }
|
38 | })
|
39 |
|
40 | app.get('/set-kick-session', kickSession, function(req, res) {
|
41 | req.session.username = 'foo username'
|
42 | res.end()
|
43 | })
|
44 |
|
45 | app.get('/get-kick-session', kickSession, function(req, res) {
|
46 | res.end('' + req.session)
|
47 | })
|
48 |
|
49 | app.get('/', function(req, res){
|
50 | res.end()
|
51 | })
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 | var ServerResponse = http.ServerResponse;
|
61 | var rawEnd = ServerResponse.prototype.end;
|
62 | console.log(ServerResponse)
|
63 | console.log(rawEnd)
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 | if(!module.parent) {
|
71 | http.createServer(function(req, res){
|
72 |
|
73 | app(req, res);
|
74 | }).listen(3000);
|
75 | }
|
76 |
|