@webda/core 2.3.1 → 2.4.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.
Files changed (65) hide show
  1. package/lib/application.d.ts +12 -0
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +26 -3
  4. package/lib/core.js +53 -2
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +1 -1
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/queues/memoryqueue.spec.js +4 -0
  9. package/lib/queues/memoryqueue.spec.js.map +1 -1
  10. package/lib/queues/queueservice.d.ts +8 -0
  11. package/lib/queues/queueservice.js +28 -0
  12. package/lib/queues/queueservice.js.map +1 -1
  13. package/lib/services/authentication.d.ts +14 -2
  14. package/lib/services/authentication.js +105 -70
  15. package/lib/services/authentication.js.map +1 -1
  16. package/lib/services/binary.d.ts +11 -1
  17. package/lib/services/binary.js +28 -1
  18. package/lib/services/binary.js.map +1 -1
  19. package/lib/services/fileconfiguration.js +9 -3
  20. package/lib/services/fileconfiguration.js.map +1 -1
  21. package/lib/services/fileconfiguration.spec.js +43 -0
  22. package/lib/services/fileconfiguration.spec.js.map +1 -1
  23. package/lib/services/mailer.d.ts +9 -1
  24. package/lib/services/mailer.js +30 -7
  25. package/lib/services/mailer.js.map +1 -1
  26. package/lib/services/mailer.spec.js +5 -0
  27. package/lib/services/mailer.spec.js.map +1 -1
  28. package/lib/services/oauth.d.ts +8 -1
  29. package/lib/services/oauth.js +11 -0
  30. package/lib/services/oauth.js.map +1 -1
  31. package/lib/services/prometheus.d.ts +97 -0
  32. package/lib/services/prometheus.js +151 -0
  33. package/lib/services/prometheus.js.map +1 -0
  34. package/lib/services/prometheus.spec.d.ts +1 -0
  35. package/lib/services/prometheus.spec.js +57 -0
  36. package/lib/services/prometheus.spec.js.map +1 -0
  37. package/lib/services/proxy.d.ts +11 -0
  38. package/lib/services/proxy.js +47 -2
  39. package/lib/services/proxy.js.map +1 -1
  40. package/lib/services/resource.js +2 -1
  41. package/lib/services/resource.js.map +1 -1
  42. package/lib/services/resource.spec.js +5 -5
  43. package/lib/services/service.d.ts +16 -1
  44. package/lib/services/service.js +18 -0
  45. package/lib/services/service.js.map +1 -1
  46. package/lib/stores/file.js +1 -0
  47. package/lib/stores/file.js.map +1 -1
  48. package/lib/stores/store.d.ts +8 -13
  49. package/lib/stores/store.js +34 -35
  50. package/lib/stores/store.js.map +1 -1
  51. package/lib/test.js +8 -0
  52. package/lib/test.js.map +1 -1
  53. package/lib/utils/context.d.ts +6 -1
  54. package/lib/utils/context.js +9 -2
  55. package/lib/utils/context.js.map +1 -1
  56. package/lib/utils/serializers.js +1 -1
  57. package/lib/utils/serializers.js.map +1 -1
  58. package/lib/utils/serializers.spec.js +1 -1
  59. package/lib/utils/serializers.spec.js.map +1 -1
  60. package/package.json +4 -3
  61. package/test/config-file-missing-file-no-default.json +44 -0
  62. package/test/config-file-missing-file.json +57 -0
  63. package/test/config-invitation.json +3 -1
  64. package/test/config.json +3 -0
  65. package/webda.module.json +202 -0
@@ -128,4 +128,47 @@ __decorate([
128
128
  FileConfigurationNoReloadMissingServiceTest = __decorate([
129
129
  suite
130
130
  ], FileConfigurationNoReloadMissingServiceTest);
131
+ let FileConfigurationMissingFileTest = class FileConfigurationMissingFileTest extends WebdaTest {
132
+ getTestConfiguration() {
133
+ return __dirname + "/../../test/config-file-missing-file.json";
134
+ }
135
+ async before() {
136
+ const filename = __dirname + "/../../test/my-missing-file.json";
137
+ if (existsSync(filename)) {
138
+ unlinkSync(filename);
139
+ }
140
+ await super.before();
141
+ }
142
+ async initialLoad() {
143
+ console.log(this.webda.getConfiguration().services.Authentication);
144
+ assert.strictEqual(this.webda.getConfiguration().services.Authentication.providers.email.text, "MissingTextAutoGenerated");
145
+ }
146
+ };
147
+ __decorate([
148
+ test
149
+ ], FileConfigurationMissingFileTest.prototype, "initialLoad", null);
150
+ FileConfigurationMissingFileTest = __decorate([
151
+ suite
152
+ ], FileConfigurationMissingFileTest);
153
+ let FileConfigurationMissingFileNoDefaultTest = class FileConfigurationMissingFileNoDefaultTest extends WebdaTest {
154
+ getTestConfiguration() {
155
+ return __dirname + "/../../test/config-file-missing-file-no-default.json";
156
+ }
157
+ async before() {
158
+ const filename = __dirname + "/../../test/my-missing-file.json";
159
+ if (existsSync(filename)) {
160
+ unlinkSync(filename);
161
+ }
162
+ await super.before();
163
+ }
164
+ async initialLoad() {
165
+ assert.strictEqual(this.webda.getConfiguration().services.Authentication.providers.email.text, "Test");
166
+ }
167
+ };
168
+ __decorate([
169
+ test
170
+ ], FileConfigurationMissingFileNoDefaultTest.prototype, "initialLoad", null);
171
+ FileConfigurationMissingFileNoDefaultTest = __decorate([
172
+ suite
173
+ ], FileConfigurationMissingFileNoDefaultTest);
131
174
  //# sourceMappingURL=fileconfiguration.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileconfiguration.spec.js","sourceRoot":"","sources":["../../src/services/fileconfiguration.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileconfiguration.spec.js","sourceRoot":"","sources":["../../src/services/fileconfiguration.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Ident, User } from "../index.js";
1
+ import { Counter, Ident, User } from "../index.js";
2
2
  import { NotificationService } from "./notificationservice.js";
3
3
  import { Service, ServiceParameters } from "./service.js";
4
4
  interface IEmailTemplate {
@@ -88,6 +88,14 @@ export declare class MailerParameters extends ServiceParameters {
88
88
  constructor(params: any);
89
89
  }
90
90
  export declare abstract class AbstractMailer<T extends ServiceParameters = ServiceParameters> extends Service<T> implements MailerService {
91
+ metrics: {
92
+ sent: Counter;
93
+ errors: Counter;
94
+ };
95
+ /**
96
+ * @override
97
+ */
98
+ initMetrics(): void;
91
99
  /**
92
100
  * @inheritdoc
93
101
  */
@@ -2,6 +2,7 @@ import Email from "email-templates";
2
2
  import * as fs from "fs";
3
3
  import * as nodemailer from "nodemailer";
4
4
  import * as path from "path";
5
+ import { Counter } from "../index.js";
5
6
  import { Service, ServiceParameters } from "./service.js";
6
7
  export class MailerParameters extends ServiceParameters {
7
8
  constructor(params) {
@@ -19,6 +20,21 @@ export class MailerParameters extends ServiceParameters {
19
20
  }
20
21
  }
21
22
  export class AbstractMailer extends Service {
23
+ /**
24
+ * @override
25
+ */
26
+ initMetrics() {
27
+ var _a;
28
+ super.initMetrics();
29
+ this.metrics.sent = this.getMetric(Counter, {
30
+ name: "mailer_sent",
31
+ help: "Number of emails sent"
32
+ });
33
+ (_a = this.metrics).errors ?? (_a.errors = this.getMetric(Counter, {
34
+ name: "mailer_errors",
35
+ help: "Number of emails in error"
36
+ }));
37
+ }
22
38
  /**
23
39
  * If user has an email
24
40
  * @param user
@@ -35,13 +51,20 @@ export class AbstractMailer extends Service {
35
51
  if (!email) {
36
52
  throw new Error(`Cannot find a valid email for ${user.__type} '${user.getUuid()}'`);
37
53
  }
38
- return this.send({
39
- template: notification,
40
- replacements: {
41
- ...replacements
42
- },
43
- to: email
44
- });
54
+ this.metrics.sent.inc();
55
+ try {
56
+ await this.send({
57
+ template: notification,
58
+ replacements: {
59
+ ...replacements
60
+ },
61
+ to: email
62
+ });
63
+ }
64
+ catch (err) {
65
+ this.metrics.errors.inc();
66
+ throw err;
67
+ }
45
68
  }
46
69
  }
47
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mailer.js","sourceRoot":"","sources":["../../src/services/mailer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mailer.js","sourceRoot":"","sources":["../../src/services/mailer.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,11 @@ let MailerTest = class MailerTest extends WebdaTest {
101
101
  finally {
102
102
  stub.restore();
103
103
  }
104
+ stub = sinon.stub(this.mailer, "send").callsFake(async () => {
105
+ throw new Error("Fake");
106
+ });
107
+ await assert.rejects(() => this.mailer.sendNotification(new User().load({ email: "test@test.com" }), "", undefined, undefined), /Fake/);
108
+ stub.restore();
104
109
  }
105
110
  };
106
111
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"mailer.spec.js","sourceRoot":"","sources":["../../src/services/mailer.spec.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AAEb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IAOhC,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAClF,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5C,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACxD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAGD,MAAM;QACJ,IAAI,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,EAAE;SACjB,CAAC,EACJ,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAEK,AAAN,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACrB,QAAQ,EAAE,yBAAyB;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,EAAE;YAC9B,OAAO;gBACL,SAAS,EAAE,KAAK,IAAI,EAAE;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,yBAAyB;YACnC,IAAI,EAAE,eAAe;SACtB,CAAC,EACJ,gDAAgD,CACjD,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;QACrE,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAClE,oCAAoC,CACrC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACpE;gBAAS;YACR,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;CACF,CAAA;AAjGC;IADC,IAAI;wCAKJ;AAGK;IADL,IAAI;iDAeJ;AAED;IADC,IAAI;+CAMJ;AAEK;IADL,IAAI;qDASJ;AAGK;IADL,IAAI;4CAKJ;AAGK;IADL,IAAI;kDAYJ;AAGK;IADL,IAAI;+CAWJ;AAGK;IADL,IAAI;uDAMJ;AAGK;IADL,IAAI;kDAcJ;AA3HG,UAAU;IADf,KAAK;GACA,UAAU,CA4Hf"}
1
+ {"version":3,"file":"mailer.spec.js","sourceRoot":"","sources":["../../src/services/mailer.spec.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AAEb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IAOhC,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAClF,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5C,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACxD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAGD,MAAM;QACJ,IAAI,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,EAAE;SACjB,CAAC,EACJ,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAEK,AAAN,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACrB,QAAQ,EAAE,yBAAyB;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,EAAE;YAC9B,OAAO;gBACL,SAAS,EAAE,KAAK,IAAI,EAAE;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,yBAAyB;YACnC,IAAI,EAAE,eAAe;SACtB,CAAC,EACJ,gDAAgD,CACjD,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;QACrE,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAClE,oCAAoC,CACrC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACpE;gBAAS;YACR,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC1D,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EACzG,MAAM,CACP,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;CACF,CAAA;AAzGC;IADC,IAAI;wCAKJ;AAGK;IADL,IAAI;iDAeJ;AAED;IADC,IAAI;+CAMJ;AAEK;IADL,IAAI;qDASJ;AAGK;IADL,IAAI;4CAKJ;AAGK;IADL,IAAI;kDAYJ;AAGK;IADL,IAAI;+CAWJ;AAGK;IADL,IAAI;uDAMJ;AAGK;IADL,IAAI;kDAsBJ;AAnIG,UAAU;IADf,KAAK;GACA,UAAU,CAoIf"}
@@ -1,4 +1,4 @@
1
- import { Core } from "../core.js";
1
+ import { Core, Counter } from "../core.js";
2
2
  import { Context, EventWithContext, RequestFilter } from "../index.js";
3
3
  import { Authentication } from "./authentication.js";
4
4
  import { Service, ServiceParameters } from "./service.js";
@@ -104,10 +104,17 @@ export interface OAuthSession {
104
104
  */
105
105
  export declare abstract class OAuthService<T extends OAuthServiceParameters = OAuthServiceParameters, E extends OAuthEvents = OAuthEvents> extends Service<T, E> implements RequestFilter<Context> {
106
106
  _authenticationService: Authentication;
107
+ /**
108
+ * @override
109
+ */
110
+ metrics: {
111
+ login: Counter;
112
+ };
107
113
  /**
108
114
  * Ensure default parameter url
109
115
  */
110
116
  constructor(webda: Core, name: string, params?: any);
117
+ initMetrics(): void;
111
118
  /**
112
119
  * Load parameters
113
120
  *
@@ -1,3 +1,4 @@
1
+ import { Counter } from "../core.js";
1
2
  import { Service, ServiceParameters } from "./service.js";
2
3
  export class OAuthServiceParameters extends ServiceParameters {
3
4
  constructor(params) {
@@ -19,6 +20,14 @@ export class OAuthService extends Service {
19
20
  super(webda, name, params);
20
21
  this.parameters.url = this.parameters.url || `${this.getDefaultUrl()}`;
21
22
  }
23
+ initMetrics() {
24
+ super.initMetrics();
25
+ this.metrics.login = this.getMetric(Counter, {
26
+ name: "oauth_login",
27
+ help: "count the number of login",
28
+ labelNames: ["method"]
29
+ });
30
+ }
22
31
  /**
23
32
  * Load parameters
24
33
  *
@@ -190,6 +199,7 @@ export class OAuthService extends Service {
190
199
  provider: this.getName(),
191
200
  context
192
201
  });
202
+ this.metrics.login.inc({ method: "token" });
193
203
  }
194
204
  /**
195
205
  * Handle a standard url callback
@@ -206,6 +216,7 @@ export class OAuthService extends Service {
206
216
  provider: this.getName(),
207
217
  context: ctx
208
218
  });
219
+ this.metrics.login.inc({ method: "callback" });
209
220
  }
210
221
  /**
211
222
  * Once approved by the OAuth provider this will do the common task
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/services/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/services/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /// <reference types="node" />
2
+ import * as http from "http";
3
+ import { Counter, Gauge, Histogram } from "prom-client";
4
+ import { WebContext } from "../utils/context.js";
5
+ import { Service, ServiceParameters } from "./service.js";
6
+ export declare class PrometheusParameters extends ServiceParameters {
7
+ /**
8
+ * If defined will launch another http server to serve the scaper
9
+ */
10
+ portNumber?: number;
11
+ /**
12
+ * If defined along with portNumber used to bind specific address
13
+ * for dedicated http server
14
+ */
15
+ bind?: string;
16
+ /**
17
+ * @default /metrics
18
+ */
19
+ url?: string;
20
+ /**
21
+ * Include NodeJS engine metrics
22
+ *
23
+ * @default true
24
+ */
25
+ includeNodeMetrics: boolean;
26
+ /**
27
+ * Include request served by Webda
28
+ *
29
+ * It should generate common http_* metrics
30
+ * @default true
31
+ */
32
+ includeRequestMetrics: boolean;
33
+ /**
34
+ * Do not partition histogram with requests labels
35
+ */
36
+ partitionHistogram?: boolean;
37
+ /**
38
+ * Labels to add
39
+ */
40
+ labels?: {
41
+ [key: string]: string;
42
+ };
43
+ /**
44
+ * Prefix to add to metrics
45
+ */
46
+ prefix?: string;
47
+ constructor(params: any);
48
+ }
49
+ /**
50
+ * This service expose metrics to Prometheus
51
+ *
52
+ * It can use the same server or a dedicated http server
53
+ * We do not currently support push-gateway
54
+ *
55
+ * @WebdaModda
56
+ */
57
+ export declare class PrometheusService<T extends PrometheusParameters = PrometheusParameters> extends Service<T> {
58
+ /**
59
+ * Metrics registered
60
+ */
61
+ private static requestMetricsRegistered;
62
+ /**
63
+ * Metrics registered
64
+ */
65
+ private static nodeMetricsRegistered;
66
+ metrics: {
67
+ http_request_total: Counter;
68
+ http_request_in_flight: Gauge;
69
+ http_request_duration_milliseconds: Histogram;
70
+ http_request_sizes: Histogram;
71
+ http_response_sizes: Histogram;
72
+ };
73
+ /**
74
+ * If we expose prometheus on another port
75
+ */
76
+ http?: http.Server;
77
+ /**
78
+ *
79
+ * @param params
80
+ * @returns
81
+ */
82
+ loadParameters(params: any): PrometheusParameters;
83
+ /**
84
+ * @override
85
+ */
86
+ initMetrics(): void;
87
+ /**
88
+ *
89
+ * @returns
90
+ */
91
+ resolve(): this;
92
+ /**
93
+ * Serve the metrics in a webda context
94
+ * @param ctx
95
+ */
96
+ serveMetrics(ctx: WebContext): Promise<void>;
97
+ }
@@ -0,0 +1,151 @@
1
+ import * as http from "http";
2
+ import { collectDefaultMetrics, Counter, Gauge, Histogram, register } from "prom-client";
3
+ import { Service, ServiceParameters } from "./service.js";
4
+ export class PrometheusParameters extends ServiceParameters {
5
+ constructor(params) {
6
+ super(params);
7
+ this.url ?? (this.url = "/metrics");
8
+ this.labels ?? (this.labels = {});
9
+ this.includeNodeMetrics ?? (this.includeNodeMetrics = true);
10
+ this.includeRequestMetrics ?? (this.includeRequestMetrics = true);
11
+ this.prefix ?? (this.prefix = "");
12
+ }
13
+ }
14
+ /**
15
+ * This service expose metrics to Prometheus
16
+ *
17
+ * It can use the same server or a dedicated http server
18
+ * We do not currently support push-gateway
19
+ *
20
+ * @WebdaModda
21
+ */
22
+ export class PrometheusService extends Service {
23
+ /**
24
+ *
25
+ * @param params
26
+ * @returns
27
+ */
28
+ loadParameters(params) {
29
+ return new PrometheusParameters(params);
30
+ }
31
+ /**
32
+ * @override
33
+ */
34
+ initMetrics() {
35
+ if (this.parameters.includeRequestMetrics) {
36
+ this.metrics = {
37
+ http_request_total: register.getSingleMetric(`${this.parameters.prefix}http_request_total`) ||
38
+ new Counter({
39
+ name: `${this.parameters.prefix}http_request_total`,
40
+ help: "metric_help",
41
+ labelNames: ["method", "statuscode", "handler"]
42
+ }),
43
+ http_request_in_flight: register.getSingleMetric(`${this.parameters.prefix}http_request_in_flight`) ||
44
+ new Gauge({
45
+ name: `${this.parameters.prefix}http_request_in_flight`,
46
+ help: "in flight"
47
+ }),
48
+ http_request_duration_milliseconds: register.getSingleMetric(`${this.parameters.prefix}http_request_duration_milliseconds`) ||
49
+ new Histogram({
50
+ name: `${this.parameters.prefix}http_request_duration_milliseconds`,
51
+ labelNames: ["method", "statuscode", "handler"],
52
+ help: "ms"
53
+ }),
54
+ http_request_sizes: register.getSingleMetric(`${this.parameters.prefix}http_request_sizes`) ||
55
+ new Histogram({
56
+ name: `${this.parameters.prefix}http_request_sizes`,
57
+ labelNames: ["method", "statuscode", "handler"],
58
+ help: "o"
59
+ }),
60
+ http_response_sizes: register.getSingleMetric(`${this.parameters.prefix}http_response_sizes`) ||
61
+ new Histogram({
62
+ name: `${this.parameters.prefix}http_response_sizes`,
63
+ labelNames: ["method", "statuscode", "handler"],
64
+ help: "o"
65
+ })
66
+ };
67
+ }
68
+ if (this.parameters.includeNodeMetrics && !PrometheusService.nodeMetricsRegistered) {
69
+ PrometheusService.nodeMetricsRegistered = true;
70
+ collectDefaultMetrics({
71
+ register,
72
+ labels: this.parameters.labels,
73
+ prefix: this.parameters.prefix
74
+ });
75
+ }
76
+ }
77
+ /**
78
+ *
79
+ * @returns
80
+ */
81
+ resolve() {
82
+ super.resolve();
83
+ register.setDefaultLabels(this.parameters.labels);
84
+ if (!this.parameters.portNumber) {
85
+ this.addRoute(this.parameters.url || "/metrics", ["GET"], this.serveMetrics);
86
+ }
87
+ else {
88
+ this.http = http
89
+ .createServer(async (req, res) => {
90
+ if (req.method === "GET" && req.url === this.parameters.url) {
91
+ res.writeHead(200, { "Content-Type": register.contentType });
92
+ res.write(await register.metrics());
93
+ res.end();
94
+ }
95
+ res.writeHead(404);
96
+ res.end();
97
+ })
98
+ .listen(this.parameters.portNumber, this.parameters.bind);
99
+ }
100
+ // Only register on events if we need to get metrics
101
+ if (this.parameters.includeRequestMetrics) {
102
+ this.getWebda().on("Webda.Request", ({ context }) => {
103
+ if (context.getHttpContext().getRelativeUri() === this.parameters.url) {
104
+ return;
105
+ }
106
+ this.metrics.http_request_in_flight.inc();
107
+ context.setExtension("prometheus", {
108
+ timer: this.metrics.http_request_duration_milliseconds.startTimer()
109
+ });
110
+ });
111
+ this.getWebda().on("Webda.Result", ({ context }) => {
112
+ if (context.getHttpContext().getRelativeUri() === this.parameters.url) {
113
+ return;
114
+ }
115
+ const staticLabels = this.parameters.labels || {};
116
+ const labels = {
117
+ handler: context.getHttpContext().getRelativeUri(),
118
+ method: context.getHttpContext().getMethod(),
119
+ statuscode: context.statusCode,
120
+ ...staticLabels
121
+ };
122
+ context
123
+ .getExtension("prometheus")
124
+ .timer(this.parameters.partitionHistogram ? labels : staticLabels);
125
+ this.metrics.http_request_total.inc(labels, 1);
126
+ if (["PUT", "POST", "PATCH"].includes(context.getHttpContext().getMethod())) {
127
+ this.metrics.http_request_sizes.observe(this.parameters.partitionHistogram ? labels : staticLabels, Number.parseInt(context.getHttpContext().getHeaders()["content-length"] || "0"));
128
+ this.metrics.http_response_sizes.observe(this.parameters.partitionHistogram ? labels : staticLabels, Number.parseInt(context.getResponseHeaders["content-length"] || "0"));
129
+ }
130
+ this.metrics.http_request_in_flight.dec(staticLabels, 1);
131
+ });
132
+ }
133
+ return this;
134
+ }
135
+ /**
136
+ * Serve the metrics in a webda context
137
+ * @param ctx
138
+ */
139
+ async serveMetrics(ctx) {
140
+ ctx.write(await register.metrics());
141
+ }
142
+ }
143
+ /**
144
+ * Metrics registered
145
+ */
146
+ PrometheusService.requestMetricsRegistered = false;
147
+ /**
148
+ * Metrics registered
149
+ */
150
+ PrometheusService.nodeMetricsRegistered = false;
151
+ //# sourceMappingURL=prometheus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.js","sourceRoot":"","sources":["../../src/services/prometheus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import * as assert from "assert";
9
+ import axios from "axios";
10
+ import { Histogram } from "prom-client";
11
+ import { WebdaTest } from "../test.js";
12
+ import { HttpContext } from "../utils/httpcontext.js";
13
+ import { PrometheusService } from "./prometheus.js";
14
+ let PrometheusTest = class PrometheusTest extends WebdaTest {
15
+ async sideServe() {
16
+ let service = new PrometheusService(this.webda, "", {
17
+ portNumber: 9090,
18
+ includeNodeMetrics: false,
19
+ includeRequestMetrics: false
20
+ });
21
+ try {
22
+ await service.resolve().init();
23
+ // Should be listen on 9090 now
24
+ let res = await axios.get("http://localhost:9090/metrics");
25
+ assert.ok(res.data.includes("webda_store_operations_total"));
26
+ await assert.rejects(() => axios.get("http://localhost:9090/metrics2"), /Request failed with status code 404/);
27
+ }
28
+ finally {
29
+ service.http?.close();
30
+ }
31
+ }
32
+ async normal() {
33
+ let ctx = await this.newContext("toto");
34
+ ctx.setHttpContext(new HttpContext("localhost", "GET", "/version"));
35
+ await this.webda.emitSync("Webda.Request", { context: ctx });
36
+ await this.webda.emitSync("Webda.Result", { context: ctx });
37
+ ctx.setHttpContext(new HttpContext("localhost", "PUT", "/version"));
38
+ await this.webda.emitSync("Webda.Request", { context: ctx });
39
+ await this.webda.emitSync("Webda.Result", { context: ctx });
40
+ await this.execute(ctx, "localhost", "GET", "/metrics");
41
+ await this.webda.emitSync("Webda.Request", { context: ctx });
42
+ await this.webda.emitSync("Webda.Result", { context: ctx });
43
+ this.webda.getGlobalParams().metrics = false;
44
+ // Fake metrics should return 0 for timer
45
+ assert.strictEqual(this.webda.getMetric(Histogram, { name: "test", help: "fake" }).startTimer()(), 0);
46
+ }
47
+ };
48
+ __decorate([
49
+ test
50
+ ], PrometheusTest.prototype, "sideServe", null);
51
+ __decorate([
52
+ test
53
+ ], PrometheusTest.prototype, "normal", null);
54
+ PrometheusTest = __decorate([
55
+ suite
56
+ ], PrometheusTest);
57
+ //# sourceMappingURL=prometheus.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.spec.js","sourceRoot":"","sources":["../../src/services/prometheus.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,SAAS;IAE9B,AAAN,KAAK,CAAC,SAAS;QACb,IAAI,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;YAClD,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,KAAK;YACzB,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;QACH,IAAI;YACF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/B,+BAA+B;YAC/B,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,qCAAqC,CAAC,CAAC;SAChH;gBAAS;YACR,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SACvB;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACV,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7C,yCAAyC;QACzC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;CACF,CAAA;AAjCO;IADL,IAAI;+CAgBJ;AAGK;IADL,IAAI;4CAeJ;AAlCG,cAAc;IADnB,KAAK;GACA,cAAc,CAmCnB"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import * as http from "http";
3
+ import { Counter, Gauge, Histogram } from "../core.js";
3
4
  import { Context } from "../utils/context.js";
4
5
  import { Service, ServiceParameters } from "./service.js";
5
6
  /**
@@ -25,6 +26,16 @@ export declare class ProxyParameters extends ServiceParameters {
25
26
  * @WebdaModda
26
27
  */
27
28
  export declare class ProxyService<T extends ProxyParameters = ProxyParameters> extends Service<T> {
29
+ metrics: {
30
+ http_request_total: Counter;
31
+ http_request_in_flight: Gauge;
32
+ http_request_duration_milliseconds: Histogram;
33
+ http_errors: Counter;
34
+ };
35
+ /**
36
+ * @override
37
+ */
38
+ initMetrics(): void;
28
39
  /**
29
40
  * @override
30
41
  */