isite 2024.9.1 → 2024.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/routing.js CHANGED
@@ -166,6 +166,7 @@ module.exports = function init(____0) {
166
166
  }
167
167
 
168
168
  let response = {
169
+ host: req.host,
169
170
  url: req.url,
170
171
  filePath: route.path,
171
172
  content: req.content,
@@ -174,7 +175,7 @@ module.exports = function init(____0) {
174
175
  code: res.code,
175
176
  };
176
177
 
177
- if (route.shared && !____0.sharedList.some((s) => s.filePath == response.filePath && s.url == response.url)) {
178
+ if (route.shared && !____0.sharedList.some((s) => s.host == req.host && s.filePath == response.filePath && s.url == response.url)) {
178
179
  ____0.sharedList.push(response);
179
180
  }
180
181
 
@@ -188,10 +189,10 @@ module.exports = function init(____0) {
188
189
  _0xrrxo.defaultCallback = function (req, res) {
189
190
  let route = req.route;
190
191
 
191
- if ((response = ____0.sharedList.find((s) => s.filePath == route.path && s.url == req.url))) {
192
+ if ((response = ____0.sharedList.find((s) => s.host == req.host && s.filePath == route.path && s.url == req.url))) {
192
193
  res.headers = response.headers;
193
194
  res.code = response.code;
194
- res.setHeader('x-shared', ____0.sharedList.length + ' - ' + ____0.options.port);
195
+ res.set('x-shared', '-host=' + req.host + ' -port=' + ____0.options.port + ' -index=' + ____0.sharedList.length + ' -count=' + route.count);
195
196
  return res.end(response.content, response.encode);
196
197
  }
197
198
 
@@ -592,6 +593,7 @@ module.exports = function init(____0) {
592
593
  };
593
594
 
594
595
  _0xrrxo.handleRoute = async function (req, res, route) {
596
+
595
597
  if (route.lang) {
596
598
  req.session.language = { id: route.lang };
597
599
  }
@@ -688,12 +690,15 @@ module.exports = function init(____0) {
688
690
  res.end(503);
689
691
  }
690
692
  });
693
+
691
694
  req.addFeature = function (name) {
692
695
  req.features.push(name);
693
696
  };
697
+
694
698
  req.hasFeature = function (name) {
695
699
  return req.features.some((f) => f.like(name));
696
700
  };
701
+
697
702
  req.removeFeature = function (name) {
698
703
  req.features.forEach((f, i) => {
699
704
  if (f.like(name)) {
@@ -723,6 +728,7 @@ module.exports = function init(____0) {
723
728
 
724
729
  return userFinger;
725
730
  };
731
+
726
732
  req.word = function (name) {
727
733
  let w = ____0.word(name);
728
734
  if (!w.hostList) {
@@ -763,9 +769,11 @@ module.exports = function init(____0) {
763
769
  res.setHeader(a, b, c);
764
770
  return res;
765
771
  };
772
+
766
773
  res.delete = res.remove = res.removeHeader;
767
774
  res.writeHead0 = res.writeHead;
768
775
  res.writeHeadEnabled = !0;
776
+
769
777
  res.writeHead = (code, obj) => {
770
778
  if (res.writeHeadEnabled === !1 || res.finished === !0) {
771
779
  return res;
@@ -927,10 +935,10 @@ module.exports = function init(____0) {
927
935
  filePath = file;
928
936
  }
929
937
 
930
- if ((response = ____0.sharedList.find((s) => s.filePath == filePath && s.url == req.url))) {
938
+ if ((response = ____0.sharedList.find((s) => s.host == req.host && s.filePath == filePath && s.url == req.url))) {
931
939
  res.headers = response.headers;
932
940
  res.code = response.code;
933
- res.setHeader('x-shared', ____0.sharedList.length + ' - ' + ____0.options.port);
941
+ res.set('x-shared', '-host=' + req.host + ' -port=' + ____0.options.port + ' -index=' + ____0.sharedList.length+ ' -count=' + req.route.count);
934
942
  return res.end(response.content, response.encode);
935
943
  }
936
944
  ____0.fsm.getContent(filePath, (content) => {
@@ -1057,6 +1065,7 @@ module.exports = function init(____0) {
1057
1065
  }
1058
1066
 
1059
1067
  let response = {
1068
+ host: req.host,
1060
1069
  url: req.url,
1061
1070
  filePath: filePath,
1062
1071
  content: req.content,
@@ -1065,7 +1074,7 @@ module.exports = function init(____0) {
1065
1074
  code: res.code,
1066
1075
  };
1067
1076
 
1068
- if (options.shared && !____0.sharedList.some((s) => s.filePath == response.filePath && s.url == response.url)) {
1077
+ if (options.shared && !____0.sharedList.some((s) => s.host == req.host && s.filePath == response.filePath && s.url == response.url)) {
1069
1078
  ____0.sharedList.push(response);
1070
1079
  }
1071
1080
 
@@ -1177,13 +1186,13 @@ module.exports = function init(____0) {
1177
1186
  res.status(code).end();
1178
1187
  };
1179
1188
 
1180
- res.setHeader('CharSet', 'UTF-8');
1181
- res.setHeader('Access-Control-Allow-Credentials', 'true');
1182
- res.setHeader('Access-Control-Allow-Headers', req.headers['access-control-request-headers'] || 'Origin, X-Requested-With, Content-Type, Accept , Access-Token , Authorization');
1183
- res.setHeader('Access-Control-Allow-Methods', req.headers['access-control-request-method'] || 'POST,GET,DELETE,PUT,OPTIONS,VIEW,HEAD,CONNECT,TRACE');
1184
- res.setHeader('Access-Control-Allow-Origin', req.referer || '*');
1189
+ res.set('CharSet', 'UTF-8');
1190
+ res.set('Access-Control-Allow-Credentials', 'true');
1191
+ res.set('Access-Control-Allow-Headers', req.headers['access-control-request-headers'] || 'Origin, X-Requested-With, Content-Type, Accept , Access-Token , Authorization');
1192
+ res.set('Access-Control-Allow-Methods', req.headers['access-control-request-method'] || 'POST,GET,DELETE,PUT,OPTIONS,VIEW,HEAD,CONNECT,TRACE');
1193
+ res.set('Access-Control-Allow-Origin', req.referer || '*');
1185
1194
  if (req.origin) {
1186
- res.setHeader('Access-Control-Allow-Origin', req.origin);
1195
+ res.set('Access-Control-Allow-Origin', req.origin);
1187
1196
  }
1188
1197
 
1189
1198
  if (____0.options.www === false && req.host.contains('www')) {
@@ -1222,6 +1231,7 @@ module.exports = function init(____0) {
1222
1231
 
1223
1232
  let findRouteIndex = _0xrrxo.list.findIndex((r) => req.method.toLowerCase().like(r.method.toLowerCase()) && req.urlParser.pathname.like(r.name));
1224
1233
  if (findRouteIndex !== -1) {
1234
+
1225
1235
  if (!_0xrrxo.list[findRouteIndex].count) {
1226
1236
  _0xrrxo.list[findRouteIndex].count = 0;
1227
1237
  }
@@ -1246,6 +1256,12 @@ module.exports = function init(____0) {
1246
1256
  req.paramsRaw[map.name] = req.urlParserRaw.arr[map.index];
1247
1257
  }
1248
1258
  }
1259
+ req.session = {
1260
+ $save: () => {},
1261
+ accessToken: 'SHARED',
1262
+ language: ____0.options.language || { id: 'en', dir: 'ltr' },
1263
+ lang: ____0.options.language?.id || ____0.options.lang || 'en',
1264
+ };
1249
1265
 
1250
1266
  req.query = req.urlParser.query;
1251
1267
  req.queryRaw = req.urlParserRaw.query;
package/lib/security.js CHANGED
@@ -476,11 +476,6 @@ module.exports = function init(____0) {
476
476
  user.mobile = user.mobile.trim().toLowerCase();
477
477
  } else if (user && user.username && user.password) {
478
478
  user.username = user.username.trim().toLowerCase();
479
- } else {
480
- callback({
481
- message: 'User Info Not Correct',
482
- });
483
- return;
484
479
  }
485
480
 
486
481
  for (var i = 0; i < security.users.length; i++) {
@@ -495,7 +490,8 @@ module.exports = function init(____0) {
495
490
  if ($req) {
496
491
  $req.session.user = _user;
497
492
  $req.session.user_id = _user.id;
498
- ____0.saveSession($req.session);
493
+ $req.session.$save();
494
+
499
495
  }
500
496
  callback(null, _user);
501
497
  ____0.call('user login', {
@@ -510,24 +506,9 @@ module.exports = function init(____0) {
510
506
  }
511
507
  }
512
508
 
513
- let where = {
514
- password: user.password,
515
- };
516
- if (user.email) {
517
- where.email = user.email;
518
- } else if (user.mobile) {
519
- where.mobile = user.mobile;
520
- } else if (user.username) {
521
- where.username = user.username;
522
- } else {
523
- callback({
524
- message: 'User Info Not Correct',
525
- });
526
- return;
527
- }
528
509
  ____0.$users.findOne(
529
510
  {
530
- where: where,
511
+ where: user,
531
512
  },
532
513
  function (err, doc) {
533
514
  if (doc) {
@@ -538,7 +519,8 @@ module.exports = function init(____0) {
538
519
  if ($req) {
539
520
  $req.session.user = doc;
540
521
  $req.session.user_id = doc.id;
541
- ____0.saveSession($req.session);
522
+ $req.session.$save();
523
+
542
524
  }
543
525
 
544
526
  callback(null, doc);
@@ -555,12 +537,12 @@ module.exports = function init(____0) {
555
537
  callback(err);
556
538
  } else {
557
539
  callback({
558
- message: 'email or password error ',
540
+ message: 'User Credential Not Correct ',
559
541
  });
560
542
  }
561
543
 
562
544
  ____0.call('security error', {
563
- message: 'email or password error',
545
+ message: 'User Credential Not Correct ',
564
546
  });
565
547
  }
566
548
  }
@@ -581,11 +563,6 @@ module.exports = function init(____0) {
581
563
  user.mobile = user.mobile.trim().toLowerCase();
582
564
  } else if (user && user.username && user.password) {
583
565
  user.username = user.username.trim().toLowerCase();
584
- } else {
585
- callback({
586
- message: 'User Info Not Correct',
587
- });
588
- return;
589
566
  }
590
567
 
591
568
  security.isUserExists(user, function (err, u) {
@@ -608,7 +585,8 @@ module.exports = function init(____0) {
608
585
  if ($req) {
609
586
  $req.session.user = doc;
610
587
  $req.session.user_id = doc.id;
611
- ____0.saveSession($req.session);
588
+ $req.session.$save();
589
+
612
590
  }
613
591
  ____0.call('user register', {
614
592
  db: ____0.$users.db,
@@ -632,9 +610,7 @@ module.exports = function init(____0) {
632
610
 
633
611
  if (security.isUserLogin(req, res)) {
634
612
  let _user = req.session.user;
635
- ____0.call('[session][delete]', {
636
- accessToken: req.session.accessToken,
637
- });
613
+
638
614
 
639
615
  ____0.call('user logout', {
640
616
  db: ____0.$users.db,
@@ -668,11 +644,6 @@ module.exports = function init(____0) {
668
644
  user.mobile = user.mobile.trim().toLowerCase();
669
645
  } else if (user && user.username && user.password) {
670
646
  user.username = user.username.trim().toLowerCase();
671
- } else {
672
- callback({
673
- message: 'User Info Not Correct',
674
- });
675
- return;
676
647
  }
677
648
 
678
649
  if (!user.email) {
@@ -737,11 +708,6 @@ module.exports = function init(____0) {
737
708
  where.mobile = user.mobile.trim().toLowerCase();
738
709
  } else if (user.username) {
739
710
  where.username = user.username.trim().toLowerCase();
740
- } else {
741
- callback({
742
- message: 'User Info Not Correct',
743
- });
744
- return;
745
711
  }
746
712
  ____0.$users.update(
747
713
  {
package/lib/session.js CHANGED
@@ -1,18 +1,17 @@
1
1
  module.exports = function init(req, res, ____0, callback) {
2
- ____0.getSession({ accessToken: req.headers['Access-Token'] || req.headers['access-token'] || req.query['access-token'] || req.cookie('access_token') }, (session) => {
2
+ ____0.getSession(req, (session) => {
3
3
  session.$save = function () {
4
4
  ____0.saveSession(session);
5
5
  };
6
- if (!session.accessToken) {
7
- session.accessToken = req.host + new Date().getTime().toString() + '_' + Math.random();
8
- session.accessToken = ____0.x0md50x(session.accessToken);
6
+
7
+ if (session.$new) {
8
+ session.$new = !1;
9
9
  res.cookie('access_token', session.accessToken);
10
10
  res.set('Access-Token', session.accessToken);
11
11
  }
12
12
 
13
13
  session.ip = req.ip;
14
14
  session.modifiedTime = new Date().getTime();
15
- ____0.saveSession(session);
16
15
 
17
16
  function AssignFeatures() {
18
17
  ____0.options.defaults.features.forEach((f) => {
@@ -135,13 +134,15 @@ module.exports = function init(req, res, ____0, callback) {
135
134
  if (session.user) {
136
135
  req.features.push('login');
137
136
  }
138
- ____0.saveSession(session);
137
+
139
138
  callback(session);
139
+ session.$save();
140
140
  }
141
141
  }
142
142
  );
143
143
  } else {
144
144
  callback(session);
145
+ session.$save();
145
146
  }
146
147
  });
147
148
  };
package/lib/sessions.js CHANGED
@@ -22,7 +22,7 @@ module.exports = function init(____0) {
22
22
  try {
23
23
  ss = JSON.parse(ss);
24
24
  callback(null, ss);
25
- console.log(' ... sessions Loaded From ...' + sessions.path);
25
+ console.log(' /// sessions Loaded From /// ' + sessions.path);
26
26
  } catch (err) {
27
27
  console.log(err.message);
28
28
  }
@@ -32,6 +32,16 @@ module.exports = function init(____0) {
32
32
  return;
33
33
  };
34
34
 
35
+ sessions.handleSessions = function () {
36
+ sessions.list = sessions.list.filter((s) => s && new Date().getTime() - s.createdTime < 1000 * 60 * ____0.options.session.timeout);
37
+ sessions.list = sessions.list.filter((s) => s && new Date().getTime() - s.$time < 1000 * 60 * ____0.options.session.memoryTimeout);
38
+
39
+ if (____0.options.session.storage === 'mongodb') {
40
+ sessions.$collection.deleteAll({ createdTime: { $lt: new Date().getTime() - 1000 * 60 * ____0.options.session.timeout } });
41
+ sessions.$collection.deleteAll({ where: { createdTime: { $exists: false } } });
42
+ }
43
+ };
44
+
35
45
  sessions.saveAll = function (callback) {
36
46
  callback =
37
47
  callback ||
@@ -47,63 +57,45 @@ module.exports = function init(____0) {
47
57
  });
48
58
  return;
49
59
  }
60
+ sessions.handleSessions();
50
61
 
51
62
  if (____0.options.session.storage === 'mongodb') {
52
63
  sessions.list.forEach((s, i) => {
53
- if (!s) {
54
- return false;
55
- }
56
- if (new Date().getTime() - s.createdTime > 1000 * 60 * ____0.options.session.timeout) {
57
- sessions.list.splice(i, 1);
58
- sessions.$collection.delete(s);
64
+ if (s.id) {
65
+ sessions.$collection.update(s, (err, result) => {
66
+ if (!err && result && result.doc) {
67
+ sessions.list[i] = result.doc;
68
+ }
69
+ });
59
70
  } else {
60
- if (s.id) {
61
- sessions.$collection.update(s, (err, result) => {
62
- if (!err && result) {
63
- sessions.list[i] = result.doc;
64
- }
65
- });
66
- } else {
67
- sessions.$collection.insert(s, (err, doc) => {
68
- if (!err && doc) {
69
- sessions.list[i] = doc;
70
- }
71
- });
72
- }
71
+ sessions.$collection.insert(s, (err, doc) => {
72
+ if (!err && doc) {
73
+ sessions.list[i] = doc;
74
+ }
75
+ });
73
76
  }
74
77
  });
75
78
  } else {
76
- sessions.list.forEach((s, i) => {
77
- if (!s) {
78
- return false;
79
- }
80
- let online = new Date().getTime() - s.createdTime;
81
- let timeout = 1000 * 60 * ____0.options.session.timeout;
82
- if (online > timeout) {
83
- sessions.list.splice(i, 1);
84
- }
85
- });
86
-
87
79
  ____0.writeFile(sessions.path, JSON.stringify(sessions.list), () => {
88
80
  callback(null, sessions.list);
89
- console.log(' ... sessions Saved to ...' + sessions.path);
81
+ console.log(' /// sessions Saved to ///' + sessions.path);
90
82
  });
91
83
  }
92
84
 
93
85
  return;
94
86
  };
95
87
 
96
- ____0.getSession = sessions.attach = function (session, callback) {
88
+ ____0.getSession = sessions.attach = function (req, callback) {
89
+ let session = { accessToken: req.headers['Access-Token'] || req.headers['access-token'] || req.query['access-token'] || req.cookie('access_token') };
90
+
97
91
  callback = callback || function () {};
98
- session.$exists = !1;
99
92
 
100
93
  if (session.accessToken) {
101
94
  let index = sessions.list.findIndex((s) => s && s.accessToken && s.accessToken === session.accessToken);
102
- if (index > -1) {
95
+ if (index !== -1) {
96
+ sessions.list[index].$time = new Date().getTime();
103
97
  sessions.list[index].requestesCount++;
104
98
  sessions.list[index].language = sessions.list[index].language || ____0.options.language;
105
- session.$exists = !0;
106
- session.$index = index;
107
99
  callback(sessions.list[index]);
108
100
  } else {
109
101
  if (____0.options.session.storage === 'mongodb') {
@@ -111,14 +103,11 @@ module.exports = function init(____0) {
111
103
  { accessToken: session.accessToken },
112
104
  (err, doc) => {
113
105
  if (!err && doc) {
114
- session.$exists = !0;
115
- session = { ...session, ...doc };
116
- session.requestesCount++;
117
- session.$index = sessions.list.length;
118
- session.language = session.language || ____0.options.language;
119
-
120
- sessions.list.push(session);
121
- callback(sessions.list[session.$index]);
106
+ doc.$time = new Date().getTime();
107
+ doc.requestesCount++;
108
+ doc.language = doc.language || ____0.options.language;
109
+ sessions.list.push(doc);
110
+ callback(sessions.list[sessions.list.findIndex((s) => s.accessToken == session.accessToken)]);
122
111
  } else {
123
112
  session.$new = !0;
124
113
  session.language = ____0.options.language;
@@ -127,9 +116,9 @@ module.exports = function init(____0) {
127
116
  session.data = [];
128
117
  session.requestesCount = 1;
129
118
  session.createdTime = new Date().getTime();
130
- session.$index = sessions.list.length;
119
+ session.$time = new Date().getTime();
131
120
  sessions.list.push(session);
132
- callback(sessions.list[session.$index]);
121
+ callback(sessions.list[sessions.list.findIndex((s) => s.accessToken == session.accessToken)]);
133
122
  }
134
123
  },
135
124
  true
@@ -142,9 +131,9 @@ module.exports = function init(____0) {
142
131
  session.data = [];
143
132
  session.requestesCount = 1;
144
133
  session.createdTime = new Date().getTime();
145
- session.$index = sessions.list.length;
134
+ session.$time = new Date().getTime();
135
+ callback(session);
146
136
  sessions.list.push(session);
147
- callback(sessions.list[session.$index]);
148
137
  }
149
138
  }
150
139
  } else {
@@ -155,60 +144,21 @@ module.exports = function init(____0) {
155
144
  session.data = [];
156
145
  session.requestesCount = 1;
157
146
  session.createdTime = new Date().getTime();
158
- session.$index = sessions.list.length;
147
+ session.$time = new Date().getTime();
148
+ session.accessToken = req.host + req.ip + new Date().getTime().toString() + '_' + Math.random();
149
+ session.accessToken = ____0.x0md50x(session.accessToken);
159
150
  sessions.list.push(session);
160
- callback(sessions.list[session.$index]);
151
+ callback(sessions.list[sessions.list.findIndex((s) => s && s.accessToken == session.accessToken)]);
161
152
  }
162
153
  };
163
154
 
164
- ____0.saveSession = sessions.save = function (session, callback) {
165
- callback = callback || function () {};
166
- session.$exists = !1;
167
- let index = sessions.list.findIndex((s) => s.accessToken && s.accessToken == session.accessToken);
155
+ ____0.saveSession = sessions.save = function (session) {
156
+ let index = sessions.list.findIndex((s) => s && s.accessToken && s.accessToken == session.accessToken);
168
157
  if (index !== -1) {
169
- sessions.list[index] = { ...sessions.list[index], ...session };
170
- callback(sessions.list[index]);
171
- return sessions.list[index];
158
+ sessions.list[index] = session;
172
159
  }
173
160
  };
174
161
 
175
- ____0.on('[session][update]', (session) => {
176
- sessions.list.forEach((s) => {
177
- if (s.accessToken == session.accessToken) {
178
- for (let key in session) {
179
- if (session.hasOwnProperty(key) && key !== 'accessToken') {
180
- key = key.toLowerCase();
181
- for (let i = 0; i < s.data.length; i++) {
182
- let obj = s.data[i];
183
- if (obj.key === key) {
184
- s.data[i] = {
185
- key: key,
186
- value: session[key],
187
- };
188
- }
189
- }
190
- s.data.push({
191
- key: key,
192
- value: session[key],
193
- });
194
- }
195
- }
196
- }
197
- });
198
- });
199
- ____0.on('[session][delete]', (session) => {
200
- let index = sessions.list.findIndex((s) => s.accessToken && s.accessToken == session.accessToken);
201
- if (index !== -1) {
202
- sessions.list.splice(index, 1);
203
- }
204
- });
205
- ____0.on('[session][user][update]', (user) => {
206
- let index = sessions.list.findIndex((s) => s.user && s.user == session.user);
207
- if (index !== -1) {
208
- sessions.list[index].user = user;
209
- }
210
- });
211
-
212
162
  ____0.on('[any][saving data]', function () {
213
163
  sessions.saveAll();
214
164
  });
@@ -217,8 +167,7 @@ module.exports = function init(____0) {
217
167
  req.session.language = req.data;
218
168
  req.session.lang = req.session.language?.id || req.data.name;
219
169
  req.session.langDir = req.session.language?.dir;
220
-
221
- ____0.saveSession(req.session);
170
+ req.session.$save();
222
171
  res.json({
223
172
  done: true,
224
173
  lang: req.data.name,
@@ -259,5 +208,8 @@ module.exports = function init(____0) {
259
208
  if (!____0.options.session.storage === 'mongodb') {
260
209
  sessions.loadAll();
261
210
  }
211
+
212
+ sessions.handleSessions();
213
+
262
214
  return sessions;
263
215
  };