@izumi-framework/izumi-runtime-typescript-es 0.0.1-build.0

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 (97) hide show
  1. package/dispatcher.d.ts +12 -0
  2. package/dispatcher.js +27 -0
  3. package/dispatcher.js.map +1 -0
  4. package/either.d.ts +31 -0
  5. package/either.js +78 -0
  6. package/either.js.map +1 -0
  7. package/formatter.d.ts +14 -0
  8. package/formatter.js +64 -0
  9. package/formatter.js.map +1 -0
  10. package/index.d.ts +9 -0
  11. package/index.js +10 -0
  12. package/index.js.map +1 -0
  13. package/introspector.d.ts +82 -0
  14. package/introspector.js +82 -0
  15. package/introspector.js.map +1 -0
  16. package/logger/index.d.ts +3 -0
  17. package/logger/index.js +4 -0
  18. package/logger/index.js.map +1 -0
  19. package/logger/logger.console.d.ts +7 -0
  20. package/logger/logger.console.js +44 -0
  21. package/logger/logger.console.js.map +1 -0
  22. package/logger/logger.d.ts +10 -0
  23. package/logger/logger.dummy.d.ts +4 -0
  24. package/logger/logger.dummy.js +5 -0
  25. package/logger/logger.dummy.js.map +1 -0
  26. package/logger/logger.js +9 -0
  27. package/logger/logger.js.map +1 -0
  28. package/marshaller.d.ts +12 -0
  29. package/marshaller.js +28 -0
  30. package/marshaller.js.map +1 -0
  31. package/package.json +15 -0
  32. package/transport/auth/auth.apikey.d.ts +7 -0
  33. package/transport/auth/auth.apikey.js +22 -0
  34. package/transport/auth/auth.apikey.js.map +1 -0
  35. package/transport/auth/auth.basic.d.ts +9 -0
  36. package/transport/auth/auth.basic.js +24 -0
  37. package/transport/auth/auth.basic.js.map +1 -0
  38. package/transport/auth/auth.custom.d.ts +7 -0
  39. package/transport/auth/auth.custom.js +15 -0
  40. package/transport/auth/auth.custom.js.map +1 -0
  41. package/transport/auth/auth.d.ts +7 -0
  42. package/transport/auth/auth.js +43 -0
  43. package/transport/auth/auth.js.map +1 -0
  44. package/transport/auth/auth.method.d.ts +4 -0
  45. package/transport/auth/auth.method.js +3 -0
  46. package/transport/auth/auth.method.js.map +1 -0
  47. package/transport/auth/auth.token.d.ts +7 -0
  48. package/transport/auth/auth.token.js +18 -0
  49. package/transport/auth/auth.token.js.map +1 -0
  50. package/transport/auth/index.d.ts +6 -0
  51. package/transport/auth/index.js +7 -0
  52. package/transport/auth/index.js.map +1 -0
  53. package/transport/client/index.d.ts +3 -0
  54. package/transport/client/index.js +4 -0
  55. package/transport/client/index.js.map +1 -0
  56. package/transport/client/transport.http.client.d.ts +26 -0
  57. package/transport/client/transport.http.client.js +125 -0
  58. package/transport/client/transport.http.client.js.map +1 -0
  59. package/transport/client/transport.hybrid.client.d.ts +36 -0
  60. package/transport/client/transport.hybrid.client.js +73 -0
  61. package/transport/client/transport.hybrid.client.js.map +1 -0
  62. package/transport/client/transport.websocket.client.d.ts +45 -0
  63. package/transport/client/transport.websocket.client.js +229 -0
  64. package/transport/client/transport.websocket.client.js.map +1 -0
  65. package/transport/index.d.ts +6 -0
  66. package/transport/index.js +7 -0
  67. package/transport/index.js.map +1 -0
  68. package/transport/server/index.d.ts +5 -0
  69. package/transport/server/index.js +6 -0
  70. package/transport/server/index.js.map +1 -0
  71. package/transport/server/transport.context.d.ts +6 -0
  72. package/transport/server/transport.context.js +8 -0
  73. package/transport/server/transport.context.js.map +1 -0
  74. package/transport/server/transport.context.system.d.ts +5 -0
  75. package/transport/server/transport.context.system.js +7 -0
  76. package/transport/server/transport.context.system.js.map +1 -0
  77. package/transport/server/transport.server.d.ts +8 -0
  78. package/transport/server/transport.server.http.d.ts +21 -0
  79. package/transport/server/transport.server.http.js +131 -0
  80. package/transport/server/transport.server.http.js.map +1 -0
  81. package/transport/server/transport.server.js +2 -0
  82. package/transport/server/transport.server.js.map +1 -0
  83. package/transport/server/transport.server.websocket.d.ts +13 -0
  84. package/transport/server/transport.server.websocket.js +51 -0
  85. package/transport/server/transport.server.websocket.js.map +1 -0
  86. package/transport/transport.d.ts +25 -0
  87. package/transport/transport.js +2 -0
  88. package/transport/transport.js.map +1 -0
  89. package/transport/transport.websocket.d.ts +31 -0
  90. package/transport/transport.websocket.js +13 -0
  91. package/transport/transport.websocket.js.map +1 -0
  92. package/transport/wsclient.d.ts +37 -0
  93. package/transport/wsclient.js +119 -0
  94. package/transport/wsclient.js.map +1 -0
  95. package/void.d.ts +3 -0
  96. package/void.js +4 -0
  97. package/void.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.apikey.js","sourceRoot":"","sources":["../../../irt/transport/auth/auth.apikey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,UAAW,SAAQ,UAAU;IAEtC,YAAY,MAAc;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,SAAS,CAAC,KAAa;QAC1B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC/C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,KAAK,CAAC,oDAAoD,GAAG,KAAK,CAAC,CAAA;IAClF,CAAC;IAEM,OAAO;QACV,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export declare class AuthBasic extends AuthMethod {
3
+ user: string;
4
+ pass: string;
5
+ constructor(user?: string, pass?: string);
6
+ getPass(): string;
7
+ fromValue(value: string): Error;
8
+ toValue(): string;
9
+ }
@@ -0,0 +1,24 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export class AuthBasic extends AuthMethod {
3
+ constructor(user = undefined, pass = undefined) {
4
+ super();
5
+ this.user = user;
6
+ this.pass = pass ? btoa(pass) : undefined;
7
+ }
8
+ getPass() {
9
+ return atob(this.pass);
10
+ }
11
+ fromValue(value) {
12
+ const basicPieces = value.split(':');
13
+ if (basicPieces.length !== 2) {
14
+ return new Error('basic authorization update expects "user:pass" format, got ' + value);
15
+ }
16
+ this.user = basicPieces[0];
17
+ this.pass = basicPieces[1];
18
+ return undefined;
19
+ }
20
+ toValue() {
21
+ return 'Basic ' + this.user + ':' + this.pass;
22
+ }
23
+ }
24
+ //# sourceMappingURL=auth.basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.basic.js","sourceRoot":"","sources":["../../../irt/transport/auth/auth.basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,SAAU,SAAQ,UAAU;IAIrC,YAAY,OAAe,SAAS,EAAE,OAAe,SAAS;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,KAAa;QAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,IAAI,KAAK,CAAC,6DAA6D,GAAG,KAAK,CAAC,CAAC;SAC3F;QAED,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,OAAO,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IAClD,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export declare class AuthCustom extends AuthMethod {
3
+ value: string;
4
+ constructor(value: string);
5
+ fromValue(value: string): Error;
6
+ toValue(): string;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export class AuthCustom extends AuthMethod {
3
+ constructor(value) {
4
+ super();
5
+ this.value = value;
6
+ }
7
+ fromValue(value) {
8
+ this.value = value;
9
+ return undefined;
10
+ }
11
+ toValue() {
12
+ return this.value;
13
+ }
14
+ }
15
+ //# sourceMappingURL=auth.custom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.custom.js","sourceRoot":"","sources":["../../../irt/transport/auth/auth.custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,UAAW,SAAQ,UAAU;IAEtC,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,SAAS,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export declare class Authorization {
3
+ method: AuthMethod;
4
+ constructor();
5
+ updateFromValue(auth: string): Error;
6
+ toValue(): string;
7
+ }
@@ -0,0 +1,43 @@
1
+ import { AuthCustom } from './auth.custom';
2
+ import { AuthToken } from './auth.token';
3
+ import { AuthApiKey } from './auth.apikey';
4
+ import { AuthBasic } from './auth.basic';
5
+ export class Authorization {
6
+ constructor() { }
7
+ updateFromValue(auth) {
8
+ const pieces = auth.split(' ');
9
+ if (pieces.length !== 2) {
10
+ if (auth.length > 0) {
11
+ this.method = new AuthCustom(auth);
12
+ return undefined;
13
+ }
14
+ return new Error('authorization update expects "type value" format, got ' + auth);
15
+ }
16
+ switch (pieces[0].toLowerCase()) {
17
+ case 'bearer':
18
+ this.method = new AuthToken(pieces[1]);
19
+ break;
20
+ case 'apikey':
21
+ case 'api-key':
22
+ this.method = new AuthApiKey(pieces[1]);
23
+ break;
24
+ case 'basic':
25
+ {
26
+ const basic = new AuthBasic();
27
+ basic.fromValue(pieces[1]);
28
+ this.method = basic;
29
+ }
30
+ break;
31
+ default:
32
+ this.method = new AuthCustom(auth);
33
+ }
34
+ return undefined;
35
+ }
36
+ toValue() {
37
+ if (!this.method) {
38
+ return '';
39
+ }
40
+ return this.method.toValue();
41
+ }
42
+ }
43
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../irt/transport/auth/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,aAAa;IAGtB,gBAAe,CAAC;IAET,eAAe,CAAC,IAAY;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,SAAS,CAAC;aACpB;YAED,OAAO,IAAI,KAAK,CAAC,wDAAwD,GAAG,IAAI,CAAC,CAAC;SACrF;QAED,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;YAC7B,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACV,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM;YACV,KAAK,OAAO;gBAAE;oBACV,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC9B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;iBACvB;gBAAC,MAAM;YACR;gBACI,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;SAE1C;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO,EAAE,CAAC;SACb;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;CACJ"}
@@ -0,0 +1,4 @@
1
+ export declare abstract class AuthMethod {
2
+ abstract fromValue(value: string): Error;
3
+ abstract toValue(): string;
4
+ }
@@ -0,0 +1,3 @@
1
+ export class AuthMethod {
2
+ }
3
+ //# sourceMappingURL=auth.method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.method.js","sourceRoot":"","sources":["../../../irt/transport/auth/auth.method.ts"],"names":[],"mappings":"AACA,MAAM,OAAgB,UAAU;CAG/B"}
@@ -0,0 +1,7 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export declare class AuthToken extends AuthMethod {
3
+ token: string;
4
+ constructor(token: string);
5
+ fromValue(value: string): Error;
6
+ toValue(): string;
7
+ }
@@ -0,0 +1,18 @@
1
+ import { AuthMethod } from './auth.method';
2
+ export class AuthToken extends AuthMethod {
3
+ constructor(token) {
4
+ super();
5
+ this.token = token;
6
+ }
7
+ fromValue(value) {
8
+ if (value.indexOf('Bearer ') !== 0) {
9
+ return new Error('token authorization must start with Bearer, got ' + value);
10
+ }
11
+ this.token = value.substr(7);
12
+ return undefined;
13
+ }
14
+ toValue() {
15
+ return 'Bearer ' + this.token;
16
+ }
17
+ }
18
+ //# sourceMappingURL=auth.token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.token.js","sourceRoot":"","sources":["../../../irt/transport/auth/auth.token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,SAAU,SAAQ,UAAU;IAErC,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,SAAS,CAAC,KAAa;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAChC,OAAO,IAAI,KAAK,CAAC,kDAAkD,GAAG,KAAK,CAAC,CAAA;SAC/E;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,OAAO,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export * from './auth';
2
+ export * from './auth.method';
3
+ export * from './auth.apikey';
4
+ export * from './auth.basic';
5
+ export * from './auth.token';
6
+ export * from './auth.custom';
@@ -0,0 +1,7 @@
1
+ export * from './auth';
2
+ export * from './auth.method';
3
+ export * from './auth.apikey';
4
+ export * from './auth.basic';
5
+ export * from './auth.token';
6
+ export * from './auth.custom';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../irt/transport/auth/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './transport.http.client';
2
+ export * from './transport.websocket.client';
3
+ export * from './transport.hybrid.client';
@@ -0,0 +1,4 @@
1
+ export * from './transport.http.client';
2
+ export * from './transport.websocket.client';
3
+ export * from './transport.hybrid.client';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../irt/transport/client/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { AuthMethod } from '../auth';
2
+ import { ClientTransport, IncomingData, TransportHeaders } from '../transport';
3
+ import { Logger } from '../../logger';
4
+ import { JSONMarshaller } from '../../marshaller';
5
+ export declare class HTTPClientTransport implements ClientTransport {
6
+ endpoint: string;
7
+ private auth;
8
+ private timeout;
9
+ private logger;
10
+ private marshaller;
11
+ private headers;
12
+ onSend: (service: string, method: string, payload: string) => void;
13
+ onSuccess: (service: string, method: string, payload: string) => void;
14
+ onFailure: (service: string, method: string, error: string) => void;
15
+ constructor(endpoint: string, marshaller: JSONMarshaller, logger?: Logger);
16
+ private get isReady();
17
+ private doRequest;
18
+ private sanitizeEndpoint;
19
+ setEndpoint(endpoint: string): void;
20
+ setHeaders(headers: TransportHeaders | undefined): void;
21
+ getHeaders(): TransportHeaders;
22
+ getAuthorization(): AuthMethod | undefined;
23
+ setAuthorization(method: AuthMethod | undefined): void;
24
+ setTimeout(timeout: number): void;
25
+ send(service: string, method: string, data: IncomingData): Promise<any>;
26
+ }
@@ -0,0 +1,125 @@
1
+ import { Authorization } from '../auth';
2
+ import { DummyLogger, LogLevel } from '../../logger';
3
+ export class HTTPClientTransport {
4
+ constructor(endpoint, marshaller, logger = undefined) {
5
+ this.setEndpoint(endpoint);
6
+ this.timeout = 60 * 1000;
7
+ this.logger = logger;
8
+ if (!this.logger) {
9
+ this.logger = new DummyLogger();
10
+ }
11
+ this.marshaller = marshaller;
12
+ this.headers = {};
13
+ }
14
+ get isReady() {
15
+ if (typeof this.endpoint == 'undefined') {
16
+ return false;
17
+ }
18
+ return true;
19
+ }
20
+ doRequest(url, payload, successCallback, failureCallback) {
21
+ const req = new XMLHttpRequest();
22
+ req.onreadystatechange = function () {
23
+ if (req.readyState === 4) {
24
+ if (req.status === 200) {
25
+ successCallback(req.responseText);
26
+ }
27
+ else {
28
+ failureCallback(req.responseText);
29
+ }
30
+ }
31
+ };
32
+ if (payload) {
33
+ req.open('POST', url, true);
34
+ this.logger.logf(LogLevel.Debug, 'Header: Content-type: application/json');
35
+ req.setRequestHeader('Content-type', 'application/json');
36
+ }
37
+ else {
38
+ req.open('GET', url, true);
39
+ }
40
+ if (this.headers) {
41
+ for (let key in this.headers) {
42
+ if (!this.headers.hasOwnProperty(key)) {
43
+ continue;
44
+ }
45
+ req.setRequestHeader(key, this.headers[key]);
46
+ }
47
+ }
48
+ if (this.auth) {
49
+ req.setRequestHeader('Authorization', this.auth.toValue());
50
+ this.logger.logf(LogLevel.Debug, 'Header: Authorization: ' + this.auth.toValue());
51
+ }
52
+ req.timeout = this.timeout;
53
+ req.send(payload);
54
+ }
55
+ sanitizeEndpoint(endpoint) {
56
+ if (!endpoint || endpoint.length === 0) {
57
+ return endpoint;
58
+ }
59
+ if (endpoint.endsWith('/') || endpoint.endsWith('\\')) {
60
+ endpoint = endpoint.substr(0, endpoint.length - 1);
61
+ }
62
+ return endpoint;
63
+ }
64
+ setEndpoint(endpoint) {
65
+ this.endpoint = this.sanitizeEndpoint(endpoint);
66
+ }
67
+ setHeaders(headers) {
68
+ this.headers = headers || {};
69
+ }
70
+ getHeaders() {
71
+ return this.headers;
72
+ }
73
+ getAuthorization() {
74
+ return this.auth ? this.auth.method : undefined;
75
+ }
76
+ setAuthorization(method) {
77
+ if (!method) {
78
+ this.auth = undefined;
79
+ return;
80
+ }
81
+ this.auth = new Authorization();
82
+ this.auth.method = method;
83
+ }
84
+ setTimeout(timeout) {
85
+ this.timeout = timeout;
86
+ }
87
+ send(service, method, data) {
88
+ if (!this.isReady) {
89
+ return new Promise((resolve, reject) => {
90
+ reject("Transport has not been initialized or endpoint is undefined.");
91
+ });
92
+ }
93
+ this.logger.logf(LogLevel.Debug, '====================================================');
94
+ this.logger.logf(LogLevel.Debug, 'Requesting ' + service + ' service, method ' + method);
95
+ return new Promise((resolve, reject) => {
96
+ const url = `${this.endpoint}/${service}/${method}`;
97
+ const payload = data.serialize();
98
+ const payloadHasNoData = Object.keys(payload).length === 0 && payload.constructor === Object;
99
+ const json = payloadHasNoData ? null : this.marshaller.Marshal(payload);
100
+ this.logger.logf(LogLevel.Debug, 'Endpoint: ' + url);
101
+ this.logger.logf(LogLevel.Debug, 'Method: ' + (payloadHasNoData ? 'GET' : 'POST'));
102
+ if (json !== null) {
103
+ this.logger.logf(LogLevel.Trace, 'Request Body:\n' + json);
104
+ }
105
+ if (this.onSend) {
106
+ this.onSend(service, method, json);
107
+ }
108
+ this.doRequest(url, json, (successContent) => {
109
+ this.logger.logf(LogLevel.Trace, 'Response body:\n' + successContent);
110
+ if (this.onSuccess) {
111
+ this.onSuccess(service, method, successContent);
112
+ }
113
+ const content = this.marshaller.Unmarshal(successContent);
114
+ resolve(content);
115
+ }, (failureContent) => {
116
+ this.logger.logf(LogLevel.Error, 'Failure:\n' + failureContent);
117
+ if (this.onFailure) {
118
+ this.onFailure(service, method, failureContent);
119
+ }
120
+ reject(failureContent);
121
+ });
122
+ });
123
+ }
124
+ }
125
+ //# sourceMappingURL=transport.http.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.http.client.js","sourceRoot":"","sources":["../../../irt/transport/client/transport.http.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { Logger } from '../../logger';
2
+ import { WebSocketClientTransport } from './transport.websocket.client';
3
+ import { ClientSocketTransport, IncomingData, OutgoingData } from '../transport';
4
+ import { HTTPClientTransport } from './transport.http.client';
5
+ import { JSONMarshaller } from '../../marshaller';
6
+ import { AuthMethod } from '../auth';
7
+ import { TransportHeaders } from '../transport';
8
+ import { ServiceDispatcher } from "../../dispatcher";
9
+ export declare type handlerSuccess = (service: string, method: string, payload: string) => void;
10
+ export declare type handlerFailure = (service: string, method: string, error: string) => void;
11
+ export declare class HybridClientTransportGeneric<C> implements ClientSocketTransport<C, string> {
12
+ private _restTransport;
13
+ private _wsTransport;
14
+ private _authMethod;
15
+ private _headers;
16
+ get onSend(): handlerSuccess;
17
+ set onSend(value: handlerSuccess);
18
+ get onSuccess(): handlerSuccess;
19
+ set onSuccess(value: handlerSuccess);
20
+ get onFailure(): handlerFailure;
21
+ set onFailure(value: handlerFailure);
22
+ setContext(context: C): void;
23
+ getContext(): C;
24
+ registerBuzzer(buzzer: ServiceDispatcher<C, string>): boolean;
25
+ unregisterBuzzer(id: string): boolean;
26
+ constructor(restEndpoint: string, wsEndpoint: string, marshaller: JSONMarshaller, logger: Logger);
27
+ getHTTPTransport(): HTTPClientTransport;
28
+ getWebsocketTransport(): WebSocketClientTransport<C>;
29
+ getAuthorization(): AuthMethod | undefined;
30
+ setAuthorization(method: AuthMethod | undefined): void;
31
+ getHeaders(): TransportHeaders;
32
+ setHeaders(headers: TransportHeaders | undefined): void;
33
+ send(service: string, method: string, data: IncomingData): Promise<OutgoingData>;
34
+ }
35
+ export declare class HybridClientTransport extends HybridClientTransportGeneric<object> {
36
+ }
@@ -0,0 +1,73 @@
1
+ import { WebSocketClientTransport } from './transport.websocket.client';
2
+ import { HTTPClientTransport } from './transport.http.client';
3
+ export class HybridClientTransportGeneric {
4
+ constructor(restEndpoint, wsEndpoint, marshaller, logger) {
5
+ this._headers = {};
6
+ this._restTransport = new HTTPClientTransport(restEndpoint, marshaller, logger);
7
+ this._wsTransport = new WebSocketClientTransport(wsEndpoint, marshaller, logger);
8
+ }
9
+ get onSend() {
10
+ return this._restTransport.onSend;
11
+ }
12
+ set onSend(value) {
13
+ this._restTransport.onSend = value;
14
+ this._wsTransport.onSend = value;
15
+ }
16
+ get onSuccess() {
17
+ return this._restTransport.onSuccess;
18
+ }
19
+ set onSuccess(value) {
20
+ this._restTransport.onSuccess = value;
21
+ this._wsTransport.onSuccess = value;
22
+ }
23
+ get onFailure() {
24
+ return this._restTransport.onFailure;
25
+ }
26
+ set onFailure(value) {
27
+ this._restTransport.onFailure = value;
28
+ this._wsTransport.onFailure = value;
29
+ }
30
+ setContext(context) {
31
+ this._wsTransport.setContext(context);
32
+ }
33
+ getContext() {
34
+ return this._wsTransport.getContext();
35
+ }
36
+ registerBuzzer(buzzer) {
37
+ return this._wsTransport.registerBuzzer(buzzer);
38
+ }
39
+ unregisterBuzzer(id) {
40
+ return this._wsTransport.unregisterBuzzer(id);
41
+ }
42
+ getHTTPTransport() {
43
+ return this._restTransport;
44
+ }
45
+ getWebsocketTransport() {
46
+ return this._wsTransport;
47
+ }
48
+ getAuthorization() {
49
+ return this._authMethod;
50
+ }
51
+ setAuthorization(method) {
52
+ this._authMethod = method;
53
+ this._restTransport.setAuthorization(method);
54
+ this._wsTransport.setAuthorization(method);
55
+ }
56
+ getHeaders() {
57
+ return this._headers;
58
+ }
59
+ setHeaders(headers) {
60
+ this._headers = headers || {};
61
+ this._restTransport.setHeaders(headers);
62
+ this._wsTransport.setHeaders(headers);
63
+ }
64
+ send(service, method, data) {
65
+ if (this._wsTransport.isReady()) {
66
+ return this._wsTransport.send(service, method, data);
67
+ }
68
+ return this._restTransport.send(service, method, data);
69
+ }
70
+ }
71
+ export class HybridClientTransport extends HybridClientTransportGeneric {
72
+ }
73
+ //# sourceMappingURL=transport.hybrid.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.hybrid.client.js","sourceRoot":"","sources":["../../../irt/transport/client/transport.hybrid.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { JSONMarshaller } from '../../marshaller';
2
+ import { Logger } from '../../logger';
3
+ import { ClientSocketTransport, IncomingData, OutgoingData } from '../transport';
4
+ import { AuthMethod } from '../auth';
5
+ import { TransportHeaders } from '../transport';
6
+ import { ServiceDispatcher } from '../../dispatcher';
7
+ export declare function RandomMessageID(prefix?: string): string;
8
+ export declare class WebSocketClientTransport<C> implements ClientSocketTransport<C, string> {
9
+ private _supported;
10
+ private _wsc;
11
+ private _marshaller;
12
+ private _logger;
13
+ private _requests;
14
+ private _auth?;
15
+ private _headersUpdateID?;
16
+ private _headersUpdated;
17
+ private _headers;
18
+ private _dispatcher;
19
+ private _context;
20
+ onSend: (service: string, method: string, payload: string) => void;
21
+ onSuccess: (service: string, method: string, payload: string) => void;
22
+ onFailure: (service: string, method: string, error: string) => void;
23
+ constructor(endpoint: string, marshaller: JSONMarshaller, logger: Logger, protocols?: string | string[]);
24
+ isReady(checkHeaders?: boolean): boolean;
25
+ send(service: string, method: string, data: IncomingData): Promise<OutgoingData>;
26
+ private checkHeaders;
27
+ private sendHeaders;
28
+ getHeaders(): TransportHeaders;
29
+ setHeaders(headers: TransportHeaders | undefined): void;
30
+ getAuthorization(): AuthMethod | undefined;
31
+ setAuthorization(method: AuthMethod | undefined): void;
32
+ private onConnecting;
33
+ private onClose;
34
+ private onHeadersUpdated;
35
+ private onRpcResponseMessage;
36
+ private onFailureMessage;
37
+ private onBuzzerRequestMessage;
38
+ private onStreamS2CMessage;
39
+ private onMessage;
40
+ private onOpen;
41
+ registerBuzzer(buzzer: ServiceDispatcher<C, string>): boolean;
42
+ unregisterBuzzer(id: string): boolean;
43
+ setContext(context: C): void;
44
+ getContext(): C;
45
+ }