-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserverDemo.js
117 lines (100 loc) · 2.86 KB
/
serverDemo.js
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*************************************************
*
* ADVANCED SERVER DEMO by Classtar,
*
* Based on NodeJS (http://nodejs.org/api/)
* Based on Swig (https://github.com/paularmstrong/swig/tree/master/docs#readme)
*
**************************************************/
/*************************************************
*
* GLOBAL CONFIGURATION
*
**************************************************/
var root = process.cwd();
global.CONF = {
serverHost: '127.0.0.1',
serverPort: 8000,
serverURL: this.serverHost + ':' + this.serverPort,
templateRoot: root + '/templates/',
staticRoot: root
};
var cookie = require("./modules/cookie-node"),
NjServer = require("./modules/ninja"); // My custom server
/*************************************************
*
* ALL ROUTES - MAPPING BETWEEN "URI" AND CORRESPONDING "CONTROLLER NAME"
*
**************************************************/
var ROUTES = {
'/': 'index',
'/other': 'other',
'/last': 'last'
};
/*************************************************
*
* CONTROLLER HANDLERS - MAPPING BETWEEN "CONTROLLER NAME" AND CORRESPONDING "CONTROLLER FUNCTION"
*
**************************************************/
var CONTROLLERS = {
index : function(request, response)
{
// Do some stuff here...
response.setCookie("last_page_visited", 'index', {expires: new Date().getTime() + (1000*60*60*24*365)});
response.emit('render', {
'status': 200,
'template': 'index.html',
'datas': {
value: 'a useless string'
}
});
},
other : function(request, response)
{
// Do some stuff here...
response.emit('render', {
'status': 200,
'template': 'other.html',
'datas': {}
});
},
last : function(request, response)
{
// Do some stuff here...
response.emit('render', {
'status': 200,
'template': 'last.html',
'datas': {}
});
},
_404Controller: function(request, response)
{
response.emit('render', {
'status': 404,
'template': '404.html',
'datas': {}
});
},
_staticController: function(request, response)
{
response.emit('render', {
'status': 200,
'ressourcePath': request.url
});
}
};
NjServer.new().init(ROUTES, CONTROLLERS).start();
// ROUTER TEST
// var Router = require("./modules/ninja/router");
// console.log(Router);
// var r = Router.new(CONF);
// r.setRoutes(ROUTES);
// console.log(r);
// r.handle({url:'/other'});
// console.log(r.getControllerName());
// CONTROLLER TEST
// var Controller = require("./modules/ninja/controller");
// console.log(Controller);
// var c = Controller.new(CONF);
// console.log(c);
// c.setControllerName(r.getControllerName());