1- var global = { } ;
21
3- var toInclude = JSON . parse ( require ( "fs" ) . readFileSync ( "./meta/javascript/server/includes/index.json" , "utf8" ) ) ;
2+
3+ mod = { } ;
4+ // load paths
5+ mod . torito = {
6+ paths : require ( "./paths.js" )
7+ } ;
8+
9+ var toInclude = JSON . parse ( require ( "fs" ) . readFileSync ( mod . torito . paths . server . includes + "/index.json" , "utf8" ) ) ;
410for ( i in toInclude ) {
511 console . log ( "[[" + i + "]]" ) ;
6- global [ i ] = require ( toInclude [ i ] ) ;
12+ mod [ i ] = require ( toInclude [ i ] ) ;
713}
814
9- var routesDirectory = { get : "./meta/javascript/server/routes/get" , post : "./meta/javascript/server/routes/post" , static : "./meta/javascript/server/routes/static" } ;
15+
16+ var routesDirectory = { get : mod . torito . paths . server . routes . get , post : mod . torito . paths . server . routes . post , static : mod . torito . paths . server . routes . static } ;
1017
1118var serverPort = 3001 ;
12- app = global . express ( ) ;
13- global . app = app ;
14- global . session . reset ( ) ;
19+ app = mod . express ( ) ;
20+ mod . app = app ;
21+ mod . session . reset ( ) ;
1522
1623function guid ( ) {
1724 function s4 ( ) {
@@ -22,19 +29,21 @@ function guid() {
2229
2330app . use ( function ( req , res , next ) {
2431 console . log ( "------------------------------------------------------------------------------------------------" ) ;
25- console . log ( 'Request URL:' , req . originalUrl ) ;
26- console . log ( 'Request Type:' , req . method ) ;
27- console . log ( 'Request Params:' , req . params ) ;
28- console . log ( 'Request Query:' , req . query ) ;
32+ console . log ( 'Request URL:' , req . originalUrl , 'Request Type:' , req . method , 'Request Params:' , req . params , 'Request Query:' , req . query ) ;
2933 console . log ( "------------------------------------------------------------------------------------------------" ) ;
30-
34+ mod . session . print ( ) ;
3135 var found = false ;
36+ //console.log(req.headers);
3237 if ( "cookie" in req . headers ) {
33- req . cookies = global . cookie . parse ( req . headers . cookie ) ;
38+ console . log ( "req.headers.cookie:" , req . headers . cookie ) ;
39+ req . cookies = mod . cookie . parse ( req . headers . cookie ) ;
40+ console . log ( "req.cookies:" , req . cookies ) ;
3441 if ( "session" in req . cookies ) {
35- var data = global . session . get ( req . cookies . session ) ;
42+ var data = mod . session . get ( req . cookies . session ) ;
3643 if ( data != null ) {
3744 req . session = data ;
45+ req . session . id = req . cookies . session ;
46+ console . log ( "SESSION:" , req . session . id ) ;
3847 data . date = new Date ( ) ;
3948 found = true ;
4049 }
@@ -44,7 +53,7 @@ app.use(function (req, res, next) {
4453 // find a available id
4554 var id = guid ( ) ;
4655 while ( true ) {
47- var data = global . session . get ( id ) ;
56+ var data = mod . session . get ( id ) ;
4857 if ( data != null ) {
4958 id = guid ( ) ;
5059 } else {
@@ -53,11 +62,25 @@ app.use(function (req, res, next) {
5362 }
5463 // create a new session
5564 var session = {
65+ id : id ,
5666 logged : false ,
5767 date : new Date ( )
5868 } ;
59- global . session . set ( id , session ) ;
60- res . setHeader ( 'Set-Cookie' , global . cookie . serialize ( "session" , id ) ) ;
69+ console . log ( "NEW SESSION:" , id ) ;
70+ var d1 = new Date ( ) ,
71+ d2 = new Date ( d1 ) ;
72+ d2 . setMinutes ( d1 . getMinutes ( ) + 60 * 24 * 365 ) ;
73+ var d0 = new Date ( 0 ) ;
74+ mod . session . set ( id , session ) ;
75+ var cookie_str = mod . cookie . serialize ( "session" , id , {
76+ httpOnly : true ,
77+ path : "/" ,
78+ expires : d2 ,
79+ sameSite : true ,
80+ SameSite : "strict"
81+ } ) ;
82+ console . log ( "cookie:" , cookie_str ) ;
83+ res . setHeader ( 'Set-Cookie' , cookie_str ) ;
6184 req . session = session ;
6285 }
6386 next ( ) ;
@@ -74,10 +97,10 @@ var builtin = {
7497
7598function readdirrecSync ( dir , top ) {
7699 top = top || "" ;
77- var files = global . fs . readdirSync ( dir ) ;
100+ var files = mod . fs . readdirSync ( dir ) ;
78101 var ret = [ ] ;
79102 for ( var x in files ) {
80- if ( global . fs . lstatSync ( dir + "/" + files [ x ] ) . isDirectory ( ) ) {
103+ if ( mod . fs . lstatSync ( dir + "/" + files [ x ] ) . isDirectory ( ) ) {
81104 var r = readdirrecSync ( dir + "/" + files [ x ] , files [ x ] + "/" ) ;
82105 ret = ret . concat ( r ) ;
83106 } else {
@@ -100,16 +123,17 @@ for(var dir in routesDirectory) {
100123 }
101124 name = names . join ( "/" ) ;
102125 try {
103- eval ( "builtin." + dir + "[ \"/\" + name ] = " + global . fs . readFileSync ( routesDirectory [ dir ] + "/" + arrv [ file ] , "utf8" ) ) ;
126+ eval ( "builtin." + dir + "[ \"/\" + name ] = " + mod . fs . readFileSync ( routesDirectory [ dir ] + "/" + arrv [ file ] , "utf8" ) ) ;
104127 } catch ( e ) {
105- console . log ( global . fs . readFileSync ( routesDirectory [ dir ] + "/" + arrv [ file ] , "utf8" ) ) ;
128+ console . log ( mod . fs . readFileSync ( routesDirectory [ dir ] + "/" + arrv [ file ] , "utf8" ) ) ;
106129 console . log ( "[[" + e + "]]" ) ;
107130 }
108131 }
109132 } else if ( dir == "static" ) {
110133 if ( arrv [ file ] . lastIndexOf ( ".json" ) == arrv [ file ] . length - 5 ) {
134+ console . log ( arrv [ file ] ) ;
111135 var name = arrv [ file ] . substring ( 0 , arrv [ file ] . length - 5 ) ;
112- var data = global . fs . readFileSync ( routesDirectory [ dir ] + "/" + arrv [ file ] , "utf8" ) ;
136+ var data = mod . fs . readFileSync ( routesDirectory [ dir ] + "/" + arrv [ file ] , "utf8" ) ;
113137 var json = JSON . parse ( data ) ;
114138 builtin . static [ json . path ] = json ;
115139 //json.path,json.target
@@ -118,16 +142,18 @@ for(var dir in routesDirectory) {
118142 }
119143 if ( dir == "get" || dir == "post" ) {
120144 for ( var r in builtin [ dir ] ) {
145+ console . log ( dir + ":" + r ) ;
121146 app [ dir ] ( r , builtin [ dir ] [ r ] ) ;
122147 }
123148 } else if ( dir == "static" ) {
124149 for ( var r in builtin [ dir ] ) {
125150 var i = builtin [ dir ] [ r ] ;
126- app . use ( i . path , global . express . static ( i . target ) ) ;
151+ console . log ( dir + ":" + i . path ) ;
152+ app . use ( i . path , mod . express . static ( i . target ) ) ;
127153 }
128154 }
129155}
130156
131- app . listen ( serverPort , function ( ) {
157+ app . listen ( serverPort , "127.0.0.1" , function ( ) {
132158 console . log ( "server at " + serverPort + "!" ) ;
133159} ) ;
0 commit comments