OSDN Git Service

fix a typo
[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 var fs = require("fs");\r
52 \r
53 async.waterfall([\r
54         function(next){\r
55                 fs.exists("inited",function(exists){\r
56                         next(null,exists);\r
57                 });\r
58         },\r
59         function(exists,next){\r
60                 if(exists)\r
61                         next(null);\r
62                 else\r
63                         fs.open("inited","a",function(err,fd){\r
64                                 fs.closeSync(fd);\r
65                                 var init = require("./init");\r
66                                 init(next);\r
67                         });\r
68         }\r
69         ],function(err){\r
70                 if(err != null)\r
71                 {\r
72                         console.log(err);\r
73                         process.exit();\r
74                 }\r
75                 var server = http.createServer(app).listen(config.port);\r
76                 console.log("Express server listening on port %d in %s mode", config.port, app.settings.env);\r
77                 \r
78                 require("./chat")(app,server,express,sessionStore);\r
79                 \r
80                 if(config.enable_profile)\r
81                         require("./profile")(app);\r
82         });\r