OSDN Git Service

name_hashは被る可能性があるので、primaryではなくindexを指定するようにした
[webchat/WebChat.git] / main.js
1 \r
2 //\r
3 //設定\r
4 //\r
5 var config = require("./configure.js");\r
6 //\r
7 //\r
8 //\r
9 $secret = "5514EA2B-C9B2-4D65-8D81-1F33A180A0C2";       //cookie用秘密鍵\r
10 \r
11 \r
12 // Server\r
13 var express = require("express");\r
14 var app = express();\r
15 var http = require("http");\r
16 var RedisStore = require("connect-redis")(express);\r
17 var sessionStore = new RedisStore({\r
18         host:config.redisHost,\r
19         port:config.redisPort,\r
20         pass:config.redisPassword\r
21 });\r
22 \r
23 // Configuration\r
24 \r
25 app.configure(function(){\r
26         app.disabled("view cache");\r
27         app.set("view options", { layout: false })\r
28         app.set("views", __dirname + "/public");\r
29         app.set("view engine", "ejs");\r
30         app.use(express.bodyParser());\r
31         app.use(express.methodOverride());\r
32         app.use(express.cookieParser($secret));\r
33         app.use(express.session({\r
34                 store:sessionStore,\r
35                 cookie: { httpOnly: false }\r
36         }));\r
37         app.use(express.csrf());\r
38         app.use(app.router);\r
39         app.use(express.static(__dirname + "/public"));\r
40 });\r
41 \r
42 app.configure("development", function(){\r
43   app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); \r
44 });\r
45 \r
46 app.configure("production", function(){\r
47   app.use(express.errorHandler()); \r
48 });\r
49 \r
50 var async = require("async");\r
51 \r
52 async.waterfall([\r
53         function(next){\r
54                 var init = require("./init");\r
55                 init(next);\r
56         },\r
57         ],function(err){\r
58                 if(err != null)\r
59                 {\r
60                         console.log(err);\r
61                         process.exit();\r
62                 }\r
63                 var server = http.createServer(app).listen(config.port);\r
64                 console.log("Express server listening on port %d in %s mode", config.port, app.settings.env);\r
65                 \r
66                 require("./chat")(app,server,express,sessionStore);\r
67                 \r
68                 if(config.enable_profile)\r
69                         require("./profile")(app);\r
70         });\r