express.io.js 2026.123.955 → 2026.124.357
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/node_packages/express.js +98 -40
- package/package.json +2 -2
package/node_packages/express.js
CHANGED
|
@@ -37,8 +37,12 @@ class express {
|
|
|
37
37
|
var http_d = {request: r, response: respond}
|
|
38
38
|
var {request, response} = express.io (app, http_d);
|
|
39
39
|
app.__ = {request, response}
|
|
40
|
+
if (request.url.path.startsWith ("/.well-known")) {
|
|
41
|
+
return response.status (403).send ("well-known")
|
|
42
|
+
}
|
|
40
43
|
await new Promise (function (resolve, reject) { express.setup.call (app, app.__.request, app.__.response, resolve); });
|
|
41
|
-
|
|
44
|
+
console.log ("await", request.url.path, "done")
|
|
45
|
+
// await new Promise (function (resolve, reject) { setup.call (app, app.__.request, app.__.response, resolve); });
|
|
42
46
|
express.security.call (app, app.__.request, app.__.response, next);
|
|
43
47
|
}
|
|
44
48
|
}
|
|
@@ -47,7 +51,7 @@ class express {
|
|
|
47
51
|
}
|
|
48
52
|
io (app, context) {
|
|
49
53
|
return function (request, response, next) {
|
|
50
|
-
context (app.__.request, app.__.response, next, {request, response});
|
|
54
|
+
return context (app.__.request, app.__.response, next, {request, response});
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
use (... context) {
|
|
@@ -68,13 +72,13 @@ class express {
|
|
|
68
72
|
for (var i in arguments) {
|
|
69
73
|
if (typeof arguments [i] === "string") host = arguments [i];
|
|
70
74
|
else if (typeof arguments [i] === "number") port = arguments [i];
|
|
71
|
-
else if (typeof arguments [i]
|
|
75
|
+
else if (["object", "function"].includes (typeof arguments [i])) context = arguments [i];
|
|
72
76
|
else {}
|
|
73
77
|
}
|
|
74
78
|
host = host || this.host;
|
|
75
79
|
port = port || this.port;
|
|
76
80
|
context = context || function () { console.log (`Express on Port`, port); }
|
|
77
|
-
this.express.listen (port, host, context);
|
|
81
|
+
this.express.listen (port, host, context.call (this));
|
|
78
82
|
return this;
|
|
79
83
|
}
|
|
80
84
|
export () {
|
|
@@ -82,8 +86,6 @@ class express {
|
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
express.db = function () {}
|
|
86
|
-
|
|
87
89
|
express.io = function (app, http_d) {
|
|
88
90
|
var request = express.request (app, http_d);
|
|
89
91
|
var response = express.response (app, request, http_d);
|
|
@@ -93,8 +95,8 @@ express.io = function (app, http_d) {
|
|
|
93
95
|
express.request = function (app, http_d) {
|
|
94
96
|
const request = function () {}
|
|
95
97
|
request.error = [];
|
|
96
|
-
request.header = http_d.request.headers
|
|
97
|
-
|
|
98
|
+
if (request.header = http_d.request.headers) {
|
|
99
|
+
request.url = function () {}
|
|
98
100
|
var protocol = request.header ["x-forwarded-proto"] || http_d.request.protocol || "http";
|
|
99
101
|
if (app.config.internet) protocol = "https";
|
|
100
102
|
request.base_url = `${protocol}://${http_d.request.host}`;
|
|
@@ -114,37 +116,53 @@ express.request = function (app, http_d) {
|
|
|
114
116
|
var country_timezone = request.header ["x-vercel-ip-timezone"] || "";
|
|
115
117
|
var coordinate_latitude = request.header ["x-vercel-ip-latitude"] || "";
|
|
116
118
|
var coordinate_longitude = request.header ["x-vercel-ip-longitude"] || "";
|
|
117
|
-
request.visitor
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
request.visitor = {
|
|
120
|
+
ip: {address: ip_address},
|
|
121
|
+
country: {code: country_code, name: country_name, region: country_region, city: {name: country_city_name}, timezone: country_timezone, coordinate: {latitude: coordinate_latitude, longitude: coordinate_longitude}},
|
|
122
|
+
browser: request.header ["user-agent"],
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if ("miscellaneous") {
|
|
126
|
+
request.date = new Date.io ();
|
|
127
|
+
request.db = function () {}
|
|
128
|
+
request.instance = function () {}
|
|
129
|
+
request.theme = function () {}
|
|
120
130
|
}
|
|
121
|
-
request.db = function () {}
|
|
122
|
-
request.j_son = function () {}
|
|
123
|
-
request.theme = function () {}
|
|
124
131
|
return request;
|
|
125
132
|
}
|
|
126
133
|
|
|
127
134
|
express.response = function (app, request, http_d) {
|
|
128
135
|
var response = function () {}
|
|
136
|
+
response.sent = http_d.response.headersSent;
|
|
137
|
+
http_d.response.on ("close", function () { app.emit ("close"); });
|
|
129
138
|
if ("output") {
|
|
130
139
|
response.var = $.object.create (null);
|
|
131
140
|
response.output = new $.html ();
|
|
141
|
+
response.header = function () {}
|
|
142
|
+
response.header.set = function (key, value) { http_d.response.setHeader (key, value); return response; }
|
|
143
|
+
response.send = function (... data) {
|
|
144
|
+
console.log ("send", request.url.path)
|
|
145
|
+
if (response.end || response.sent) { console.log ("fuck you", request.url.path) }
|
|
146
|
+
else if (response.end = true) http_d.response.send (... data);
|
|
147
|
+
return response;
|
|
148
|
+
}
|
|
132
149
|
response.status = function (code) { http_d.response.status (code); return response; }
|
|
133
|
-
response.
|
|
134
|
-
response.
|
|
135
|
-
response.
|
|
136
|
-
response.
|
|
150
|
+
response.type = function (type) { http_d.response.type (type); return response; }
|
|
151
|
+
response.text = function (data) { response.type ("text").send (data); return response; }
|
|
152
|
+
response.css = function (data) { response.type ("css").send (data); return response; }
|
|
153
|
+
response.js = function (data) { response.type ("js").send (data); return response; }
|
|
154
|
+
response.xml = function (data) { response.type ("xml").send (data); return response; }
|
|
137
155
|
response.json = function (... context) { http_d.response.json (... context); return response; }
|
|
138
156
|
response.html = function (... context) {
|
|
139
|
-
|
|
157
|
+
response.send (... context);
|
|
140
158
|
return response;
|
|
141
159
|
}
|
|
142
160
|
response.render = function () {}
|
|
143
161
|
}
|
|
144
162
|
if ("error") {
|
|
145
|
-
response.error = function (
|
|
146
|
-
response.error.forbidden = function (
|
|
147
|
-
response.error.found = function (
|
|
163
|
+
response.error = function () { var input = $.help.argument (... arguments), code, message; response.status (code = input.number || 500).send (message = input.string || response.error.message || URL.header.status.code [code]); return response; }
|
|
164
|
+
response.error.forbidden = function (message) { return response.error (403, message); }
|
|
165
|
+
response.error.found = function (message) { return response.error (404, message); }
|
|
148
166
|
}
|
|
149
167
|
if ("db") {
|
|
150
168
|
response.db = function () {}
|
|
@@ -163,25 +181,11 @@ express.response = function (app, request, http_d) {
|
|
|
163
181
|
*/
|
|
164
182
|
|
|
165
183
|
express.setup = async function (request, response, next) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
if ("app:client") {
|
|
171
|
-
var reference;
|
|
172
|
-
request.app = (await request.db.select ("app").find ({host: request.url.host.name})).data.one ();
|
|
173
|
-
if (request.app) {
|
|
174
|
-
if (reference = request.app.reference) {
|
|
175
|
-
request.app = (await request.db.select ("app").find (reference)).data.one ();
|
|
176
|
-
request.app.reference = reference;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
request.error.push ("found");
|
|
181
|
-
return next ();
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
+
// await express.setup ["database"].call (this, request, response, next);
|
|
185
|
+
console.log ("setup", request.url.path, "done")
|
|
186
|
+
// await express.setup ["app"].call (this, request, response, next);
|
|
184
187
|
if (true) {
|
|
188
|
+
// response.output.config ["manifest.json"] = request.app.meta.setting ["manifest.json"];
|
|
185
189
|
response.output.set ("language", "en");
|
|
186
190
|
response.output.set ("html:attribute", {translate: "no", prefix: "og: http://ogp.me/ns#"});
|
|
187
191
|
response.output.set ("canonical", request.url.address);
|
|
@@ -196,6 +200,7 @@ express.setup = async function (request, response, next) {
|
|
|
196
200
|
express.security = function (request, response, next) {
|
|
197
201
|
this.emit ("security", request, response);
|
|
198
202
|
if (request.error.length) {
|
|
203
|
+
console.log ("error", request.error)
|
|
199
204
|
if (request.error.includes ("forbidden")) return response.error.forbidden ();
|
|
200
205
|
else if (request.error.includes ("found")) return response.error.found ();
|
|
201
206
|
else return response.error ();
|
|
@@ -213,6 +218,59 @@ express.security = function (request, response, next) {
|
|
|
213
218
|
* xxx://xxx.xxx.xxx/xxx
|
|
214
219
|
*/
|
|
215
220
|
|
|
221
|
+
express.setup.database = async function (request, response, next) {
|
|
222
|
+
var app = this;
|
|
223
|
+
return new Promise (async function (resolve, reject) {
|
|
224
|
+
if (app.config.db.driver === "json") request.db = new JSON.db ({dir: app.dir.db, collection: app.config.db.collection});
|
|
225
|
+
if (app.config.db.driver === "appwrite") request.db = new $.appwrite.db ({id: app.config.db.id, host: app.config.db.host, project: app.config.db.project, collection: app.config.db.collection}, app.db.json);
|
|
226
|
+
request.instance.list = (await request.db.select ("instance").find ()).data;
|
|
227
|
+
console.log ("db", request.url.path, "done")
|
|
228
|
+
resolve ()
|
|
229
|
+
});
|
|
230
|
+
/*
|
|
231
|
+
return new Promise (function (resolve, reject) {
|
|
232
|
+
if (app.config.db.driver === "json") request.db = new JSON.db ({dir: app.dir.db, collection: app.config.db.collection});
|
|
233
|
+
if (app.config.db.driver === "appwrite") request.db = new $.appwrite.db ({id: app.config.db.id, host: app.config.db.host, project: app.config.db.project, collection: app.config.db.collection}, app.db.json);
|
|
234
|
+
request.instance.list = (await request.db.select ("instance").find ()).data
|
|
235
|
+
// request.instance.list = (await request.db.select ("instance").find ()).data
|
|
236
|
+
// request.theme.list = (await request.db.select ("theme").find ()).data
|
|
237
|
+
});
|
|
238
|
+
*/
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
express.setup.app = async function (request, response, next) {
|
|
242
|
+
var app = {}
|
|
243
|
+
request.app = (await request.db.select ("app").limit (1).find ({host: request.url.host.name, status: "active"})).data.one ();
|
|
244
|
+
if (request.app) {
|
|
245
|
+
if (app = request.app.reference) {
|
|
246
|
+
app = request.app;
|
|
247
|
+
request.app = (await request.db.select ("app").limit (1).find (app.reference)).data.one ();
|
|
248
|
+
request.app.reference = app.serial;
|
|
249
|
+
request.app.type = app.type;
|
|
250
|
+
}
|
|
251
|
+
app.theme = request.app.theme.list.select ({status: "active"}).one ();
|
|
252
|
+
var theme = request.theme.list.select ({serial: app.theme.serial}).one ();
|
|
253
|
+
for (var i in theme) request.app.theme [i] = theme [i];
|
|
254
|
+
request.app.theme.version = app.theme.version;
|
|
255
|
+
request.app.theme.data = app.theme.data;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
request.error.push ("found");
|
|
259
|
+
next ();
|
|
260
|
+
}
|
|
261
|
+
return $.next ();
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* xxx
|
|
266
|
+
*
|
|
267
|
+
* title
|
|
268
|
+
* description
|
|
269
|
+
* sub description
|
|
270
|
+
*
|
|
271
|
+
* xxx://xxx.xxx.xxx/xxx
|
|
272
|
+
*/
|
|
273
|
+
|
|
216
274
|
module.exports = exports = express;
|
|
217
275
|
|
|
218
276
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "express.io.js",
|
|
3
3
|
"description": "Hello World",
|
|
4
|
-
"version": "2026.
|
|
4
|
+
"version": "2026.124.357",
|
|
5
5
|
"author": "Seindi Rahmat Barus <xseindi@gmail.com>",
|
|
6
6
|
"contributors": [
|
|
7
7
|
"Seindi Rahmat Barus <xseindi@gmail.com>"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"express": "^5.2.1",
|
|
25
|
-
"script.io.js": "^2026.
|
|
25
|
+
"script.io.js": "^2026.124.357",
|
|
26
26
|
"node-appwrite": "^21.1.0"
|
|
27
27
|
}
|
|
28
28
|
}
|