@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.
- package/dispatcher.d.ts +12 -0
- package/dispatcher.js +27 -0
- package/dispatcher.js.map +1 -0
- package/either.d.ts +31 -0
- package/either.js +78 -0
- package/either.js.map +1 -0
- package/formatter.d.ts +14 -0
- package/formatter.js +64 -0
- package/formatter.js.map +1 -0
- package/index.d.ts +9 -0
- package/index.js +10 -0
- package/index.js.map +1 -0
- package/introspector.d.ts +82 -0
- package/introspector.js +82 -0
- package/introspector.js.map +1 -0
- package/logger/index.d.ts +3 -0
- package/logger/index.js +4 -0
- package/logger/index.js.map +1 -0
- package/logger/logger.console.d.ts +7 -0
- package/logger/logger.console.js +44 -0
- package/logger/logger.console.js.map +1 -0
- package/logger/logger.d.ts +10 -0
- package/logger/logger.dummy.d.ts +4 -0
- package/logger/logger.dummy.js +5 -0
- package/logger/logger.dummy.js.map +1 -0
- package/logger/logger.js +9 -0
- package/logger/logger.js.map +1 -0
- package/marshaller.d.ts +12 -0
- package/marshaller.js +28 -0
- package/marshaller.js.map +1 -0
- package/package.json +15 -0
- package/transport/auth/auth.apikey.d.ts +7 -0
- package/transport/auth/auth.apikey.js +22 -0
- package/transport/auth/auth.apikey.js.map +1 -0
- package/transport/auth/auth.basic.d.ts +9 -0
- package/transport/auth/auth.basic.js +24 -0
- package/transport/auth/auth.basic.js.map +1 -0
- package/transport/auth/auth.custom.d.ts +7 -0
- package/transport/auth/auth.custom.js +15 -0
- package/transport/auth/auth.custom.js.map +1 -0
- package/transport/auth/auth.d.ts +7 -0
- package/transport/auth/auth.js +43 -0
- package/transport/auth/auth.js.map +1 -0
- package/transport/auth/auth.method.d.ts +4 -0
- package/transport/auth/auth.method.js +3 -0
- package/transport/auth/auth.method.js.map +1 -0
- package/transport/auth/auth.token.d.ts +7 -0
- package/transport/auth/auth.token.js +18 -0
- package/transport/auth/auth.token.js.map +1 -0
- package/transport/auth/index.d.ts +6 -0
- package/transport/auth/index.js +7 -0
- package/transport/auth/index.js.map +1 -0
- package/transport/client/index.d.ts +3 -0
- package/transport/client/index.js +4 -0
- package/transport/client/index.js.map +1 -0
- package/transport/client/transport.http.client.d.ts +26 -0
- package/transport/client/transport.http.client.js +125 -0
- package/transport/client/transport.http.client.js.map +1 -0
- package/transport/client/transport.hybrid.client.d.ts +36 -0
- package/transport/client/transport.hybrid.client.js +73 -0
- package/transport/client/transport.hybrid.client.js.map +1 -0
- package/transport/client/transport.websocket.client.d.ts +45 -0
- package/transport/client/transport.websocket.client.js +229 -0
- package/transport/client/transport.websocket.client.js.map +1 -0
- package/transport/index.d.ts +6 -0
- package/transport/index.js +7 -0
- package/transport/index.js.map +1 -0
- package/transport/server/index.d.ts +5 -0
- package/transport/server/index.js +6 -0
- package/transport/server/index.js.map +1 -0
- package/transport/server/transport.context.d.ts +6 -0
- package/transport/server/transport.context.js +8 -0
- package/transport/server/transport.context.js.map +1 -0
- package/transport/server/transport.context.system.d.ts +5 -0
- package/transport/server/transport.context.system.js +7 -0
- package/transport/server/transport.context.system.js.map +1 -0
- package/transport/server/transport.server.d.ts +8 -0
- package/transport/server/transport.server.http.d.ts +21 -0
- package/transport/server/transport.server.http.js +131 -0
- package/transport/server/transport.server.http.js.map +1 -0
- package/transport/server/transport.server.js +2 -0
- package/transport/server/transport.server.js.map +1 -0
- package/transport/server/transport.server.websocket.d.ts +13 -0
- package/transport/server/transport.server.websocket.js +51 -0
- package/transport/server/transport.server.websocket.js.map +1 -0
- package/transport/transport.d.ts +25 -0
- package/transport/transport.js +2 -0
- package/transport/transport.js.map +1 -0
- package/transport/transport.websocket.d.ts +31 -0
- package/transport/transport.websocket.js +13 -0
- package/transport/transport.websocket.js.map +1 -0
- package/transport/wsclient.d.ts +37 -0
- package/transport/wsclient.js +119 -0
- package/transport/wsclient.js.map +1 -0
- package/void.d.ts +3 -0
- package/void.js +4 -0
- 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,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,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,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 @@
|
|
|
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,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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|