express.io.js 2026.123.955 → 2026.124.153

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.
@@ -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
- await new Promise (function (resolve, reject) { setup.call (app, app.__.request, app.__.response, resolve); });
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] === "object") context = 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
- if (request.url = function () {}) {
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.ip = {address: ip_address}
118
- request.visitor.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}}
119
- request.visitor.browser = request.header ["user-agent"];
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.text = function () {}
134
- response.css = function () {}
135
- response.js = function () {}
136
- response.xml = function () {}
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
- http_d.response.send (... context);
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 (code = 500) { http_d.response.status (code).send (response.error.message || URL.header.status.code [code]); return response; }
146
- response.error.forbidden = function (code = 403) { http_d.response.status (code).send (URL.header.status.code [code]); return response; }
147
- response.error.found = function (code = 404) { http_d.response.status (code).send (URL.header.status.code [code]); return response; }
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
- if ("db") {
167
- if (this.config.db.driver === "json") request.db = new JSON.db ({dir: this.dir.db, collection: this.config.db.collection});
168
- if (this.config.db.driver === "appwrite") request.db = new $.appwrite.db ({id: this.config.db.id, host: this.config.db.host, project: this.config.db.project, collection: this.config.db.collection}, this.db.json);
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.123.955",
4
+ "version": "2026.124.153",
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.123.955",
25
+ "script.io.js": "^2026.124.153",
26
26
  "node-appwrite": "^21.1.0"
27
27
  }
28
28
  }