-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathrouter.js
42 lines (35 loc) · 879 Bytes
/
router.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
/**
* router.js
* @description: sends requests to the bot
* @author: Chris Young <[email protected]>
*/
var log = require(__dirname+'/library/log.js');
var bot = require(__dirname+'/bot.js');
/**
* route()
* @param: <Object> request
* @param: <Object> response
*/
function route(request, response) {
if (request.method == 'POST')
bot.processRequest(request, response);
else {
response.statusCode = 405;
response.end();
log.error('invalid method', {
method: request.method,
pathname: request.url.pathname
}, request.id);
}
}
module.exports = function router(request, response) {
switch (request.url.pathname) {
case '/':
route(request, response);
break;
default:
response.statusCode = 404;
response.end();
log.error('resource not found', request.url.pathname, request.id);
}
};