@webda/core 2.0.0-beta.1 → 2.0.0-beta.2

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.
Files changed (50) hide show
  1. package/lib/application.d.ts +4 -0
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +42 -1
  4. package/lib/core.js +23 -4
  5. package/lib/core.js.map +1 -1
  6. package/lib/models/coremodel.d.ts +76 -7
  7. package/lib/models/coremodel.js +49 -0
  8. package/lib/models/coremodel.js.map +1 -1
  9. package/lib/models/coremodel.spec.js +19 -0
  10. package/lib/models/coremodel.spec.js.map +1 -1
  11. package/lib/models/ident.d.ts +4 -2
  12. package/lib/models/ident.js.map +1 -1
  13. package/lib/models/ownermodel.d.ts +10 -0
  14. package/lib/models/ownermodel.js +15 -0
  15. package/lib/models/ownermodel.js.map +1 -1
  16. package/lib/models/ownermodel.spec.js +17 -0
  17. package/lib/models/ownermodel.spec.js.map +1 -1
  18. package/lib/models/user.d.ts +3 -3
  19. package/lib/models/user.js.map +1 -1
  20. package/lib/router.d.ts +4 -0
  21. package/lib/router.js +3 -1
  22. package/lib/router.js.map +1 -1
  23. package/lib/services/cloudbinary.js +1 -1
  24. package/lib/services/cloudbinary.js.map +1 -1
  25. package/lib/services/filebinary.d.ts +5 -0
  26. package/lib/services/filebinary.js +8 -3
  27. package/lib/services/filebinary.js.map +1 -1
  28. package/lib/services/oauth.spec.js +1 -0
  29. package/lib/services/oauth.spec.js.map +1 -1
  30. package/lib/services/service.d.ts +4 -1
  31. package/lib/services/service.js +5 -3
  32. package/lib/services/service.js.map +1 -1
  33. package/lib/stores/file.spec.js +1 -1
  34. package/lib/stores/file.spec.js.map +1 -1
  35. package/lib/stores/mapper.js +1 -0
  36. package/lib/stores/mapper.js.map +1 -1
  37. package/lib/stores/mapper.spec.js.map +1 -1
  38. package/lib/stores/store.d.ts +5 -3
  39. package/lib/stores/store.js +22 -9
  40. package/lib/stores/store.js.map +1 -1
  41. package/lib/utils/context.js +1 -1
  42. package/lib/utils/context.js.map +1 -1
  43. package/lib/utils/context.spec.js +3 -0
  44. package/lib/utils/context.spec.js.map +1 -1
  45. package/lib/utils/httpcontext.d.ts +34 -9
  46. package/lib/utils/httpcontext.js +60 -14
  47. package/lib/utils/httpcontext.js.map +1 -1
  48. package/lib/utils/httpcontext.spec.js +9 -1
  49. package/lib/utils/httpcontext.spec.js.map +1 -1
  50. package/package.json +4 -4
@@ -40,16 +40,14 @@ class HttpContext {
40
40
  // @ts-ignore
41
41
  this.protocol = protocol + ":";
42
42
  this.port = port.toString();
43
- this.headers = headers;
44
- for (let i in this.headers) {
43
+ this.headers = {};
44
+ for (let i in headers) {
45
45
  if (i.toLowerCase() === "cookie") {
46
- this.cookies = Array.isArray(this.headers[i])
47
- ? this.headers[i].map(c => (0, cookie_1.parse)(c))
48
- : (0, cookie_1.parse)(this.headers[i]);
49
- }
50
- if (i.toLowerCase() !== i) {
51
- this.headers[i.toLowerCase()] = this.headers[i];
46
+ this.cookies = Array.isArray(headers[i])
47
+ ? headers[i].map(c => (0, cookie_1.parse)(c))
48
+ : (0, cookie_1.parse)(headers[i]);
52
49
  }
50
+ this.headers[i.toLowerCase()] = headers[i];
53
51
  }
54
52
  let portUrl = "";
55
53
  if (port !== undefined &&
@@ -62,6 +60,19 @@ class HttpContext {
62
60
  this.origin = this.protocol + "//" + this.hostname + portUrl;
63
61
  this.host = this.hostname + portUrl;
64
62
  }
63
+ /**
64
+ * Set the client ip
65
+ */
66
+ setClientIp(ip) {
67
+ this.clientIp = ip;
68
+ return this;
69
+ }
70
+ /**
71
+ * Get the client ip
72
+ */
73
+ getClientIp() {
74
+ return this.clientIp;
75
+ }
65
76
  /**
66
77
  *
67
78
  * @see https://developer.mozilla.org/en-US/docs/Web/API/URL/href
@@ -157,8 +168,37 @@ class HttpContext {
157
168
  getProtocol() {
158
169
  return this.protocol;
159
170
  }
171
+ /**
172
+ * Get the raw body as string
173
+ *
174
+ * @param limit the size of readable request
175
+ * @param timeout the time to read the request
176
+ * @param encoding to analyze
177
+ * @returns
178
+ */
179
+ getRawBodyAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ // Get charset from header
182
+ if (!encoding) {
183
+ let match = this.getUniqueHeader("content-type", "charset=utf-8").match(/charset=([^;\s]+)/);
184
+ if (match) {
185
+ encoding = match[1].trim();
186
+ }
187
+ else {
188
+ encoding = "utf-8";
189
+ }
190
+ }
191
+ if (encoding !== "utf-8") {
192
+ throw new Error("Only UTF-8 is currently managed: https://github.com/loopingz/webda.io/issues/221");
193
+ }
194
+ return (yield this.getRawBody(limit, timeout)).toString(encoding);
195
+ });
196
+ }
160
197
  /**
161
198
  * Get request body
199
+ *
200
+ * @param limit the size of readable request
201
+ * @param timeout the time to read the request
162
202
  * @returns
163
203
  */
164
204
  getRawBody(limit = 1024 * 1024 * 10, timeout = 60000) {
@@ -166,7 +206,7 @@ class HttpContext {
166
206
  if (this.body instanceof stream_1.Readable) {
167
207
  return new Promise((resolve, reject) => {
168
208
  let req = this.body;
169
- let body = "";
209
+ let body = [];
170
210
  let timeoutId = setTimeout(() => {
171
211
  reject("Request timeout");
172
212
  }, timeout);
@@ -177,14 +217,14 @@ class HttpContext {
177
217
  clearTimeout(timeoutId);
178
218
  reject("Request oversized");
179
219
  }
180
- body += chunk;
220
+ body.push(chunk);
181
221
  }
182
222
  });
183
223
  req.on("end", () => {
184
224
  clearTimeout(timeoutId);
185
225
  // Cache body as stream won't be able to be read twice
186
- this.body = body;
187
- resolve(body);
226
+ this.body = Buffer.concat(body);
227
+ resolve(this.body);
188
228
  });
189
229
  });
190
230
  }
@@ -233,11 +273,17 @@ class HttpContext {
233
273
  * @param body
234
274
  */
235
275
  setBody(body) {
236
- if (body instanceof stream_1.Readable || typeof body === "string") {
276
+ if (body instanceof stream_1.Readable || body instanceof Buffer) {
237
277
  this.body = body;
238
278
  }
279
+ else if (typeof body === "string") {
280
+ this.body = Buffer.from(body);
281
+ }
282
+ else if (body === undefined) {
283
+ this.body = undefined;
284
+ }
239
285
  else {
240
- this.body = JSON.stringify(body);
286
+ this.body = Buffer.from(JSON.stringify(body));
241
287
  }
242
288
  }
243
289
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"httpcontext.js","sourceRoot":"","sources":["../../src/utils/httpcontext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpcontext.js","sourceRoot":"","sources":["../../src/utils/httpcontext.ts"],"names":[],"mappings":"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"}
@@ -40,10 +40,18 @@ let HttpContextTest = class HttpContextTest {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
41
  let ctx = new httpcontext_1.HttpContext("test.webda.io", "GET", "/test", "http", 80, { "X-Test": "weBda" });
42
42
  ctx.setBody("Test");
43
+ // Next line is just for cov
44
+ ctx.setClientIp("127.0.0.1").getClientIp();
43
45
  let stream = ctx.getRawStream();
44
46
  ctx.setBody(stream);
45
47
  ctx.getRawStream();
46
- assert.strictEqual(yield ctx.getRawBody(), "Test");
48
+ assert.strictEqual(yield ctx.getRawBodyAsString(), "Test");
49
+ // @ts-ignore
50
+ ctx.getHeaders()["content-type"] = "application/json";
51
+ assert.strictEqual(yield ctx.getRawBodyAsString(), "Test");
52
+ // @ts-ignore
53
+ ctx.getHeaders()["content-type"] = "application/json; charset=iso-8859-1";
54
+ yield assert.rejects(() => ctx.getRawBodyAsString(), /Only UTF-8 is currently managed/);
47
55
  });
48
56
  }
49
57
  oversize() {
@@ -1 +1 @@
1
- {"version":3,"file":"httpcontext.spec.js","sourceRoot":"","sources":["../../src/utils/httpcontext.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,iCAAiC;AACjC,mCAAkC;AAClC,+CAA4C;AAE5C,MAAa,YAAa,SAAQ,iBAAQ;IACxC,KAAK,KAAI,CAAC;CACX;AAFD,oCAEC;AAED,IAAM,eAAe,GAArB,MAAM,eAAe;IAEnB,eAAe;QACb,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;YACrE,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAGK,MAAM;;YACV,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;KAAA;IAGK,QAAQ;;YACZ,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,IAAI,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACvE,CAAC;KAAA;IAGK,OAAO;;YACX,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,IAAI,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAChF,CAAC;KAAA;CACF,CAAA;AAtCC;IADC,YAAI;sDAWJ;AAGD;IADC,YAAI;6CAQJ;AAGD;IADC,YAAI;+CAOJ;AAGD;IADC,YAAI;8CAMJ;AAvCG,eAAe;IADpB,aAAK;GACA,eAAe,CAwCpB"}
1
+ {"version":3,"file":"httpcontext.spec.js","sourceRoot":"","sources":["../../src/utils/httpcontext.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,iCAAiC;AACjC,mCAAkC;AAClC,+CAA4C;AAE5C,MAAa,YAAa,SAAQ,iBAAQ;IACxC,KAAK,KAAI,CAAC;CACX;AAFD,oCAEC;AAED,IAAM,eAAe,GAArB,MAAM,eAAe;IAEnB,eAAe;QACb,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;YACrE,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAGK,MAAM;;YACV,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,4BAA4B;YAC5B,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3D,aAAa;YACb,GAAG,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3D,aAAa;YACb,GAAG,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,GAAG,sCAAsC,CAAC;YAC1E,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAC1F,CAAC;KAAA;IAGK,QAAQ;;YACZ,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,IAAI,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACvE,CAAC;KAAA;IAGK,OAAO;;YACX,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,IAAI,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAChF,CAAC;KAAA;CACF,CAAA;AA9CC;IADC,YAAI;sDAWJ;AAGD;IADC,YAAI;6CAgBJ;AAGD;IADC,YAAI;+CAOJ;AAGD;IADC,YAAI;8CAMJ;AA/CG,eAAe;IADpB,aAAK;GACA,eAAe,CAgDpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/core",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.0-beta.2",
4
4
  "description": "Expose API with Lambda",
5
5
  "keywords": [
6
6
  "aws",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@types/json-schema": "^7.0.8",
24
- "@webda/workout": "^2.0.0-beta.1",
24
+ "@webda/workout": "^2.0.0-beta.2",
25
25
  "accept-language": "^3.0.18",
26
26
  "ajv": "^8.6.2",
27
27
  "ajv-formats": "^2.1.1",
@@ -64,7 +64,7 @@
64
64
  "sinon": "^14.0.0",
65
65
  "source-map-support": "^0.5.19",
66
66
  "ts-node": "^10.1.0",
67
- "typescript": "~4.6.3"
67
+ "typescript": "~4.6.4"
68
68
  },
69
69
  "files": [
70
70
  "lib",
@@ -94,5 +94,5 @@
94
94
  "webda": {
95
95
  "namespace": "Webda"
96
96
  },
97
- "gitHead": "580373e7b00497a582ae25057462e8b855e8c7d4"
97
+ "gitHead": "4928e6830cd4164166d00195ff2fef0d52bf0ba6"
98
98
  }