@tideorg/js 0.13.26 → 0.13.28
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/dist/Clients/ClientBase.d.ts +32 -1
- package/dist/Clients/ClientBase.d.ts.map +1 -1
- package/dist/Clients/ClientBase.js +219 -35
- package/dist/Clients/ClientBase.js.map +1 -0
- package/dist/Clients/NetworkClient.d.ts.map +1 -1
- package/dist/Clients/NetworkClient.js +19 -5
- package/dist/Clients/NetworkClient.js.map +1 -0
- package/dist/Clients/NodeClient.d.ts.map +1 -1
- package/dist/Clients/NodeClient.js +61 -13
- package/dist/Clients/NodeClient.js.map +1 -0
- package/dist/Clients/VoucherClient.js +1 -0
- package/dist/Clients/VoucherClient.js.map +1 -0
- package/dist/Clients/index.js +1 -0
- package/dist/Clients/index.js.map +1 -0
- package/dist/Contracts/BaseContract.js +6 -1
- package/dist/Contracts/BaseContract.js.map +1 -0
- package/dist/Contracts/GenericRealmAccessThresholdRoleContract.js +2 -4
- package/dist/Contracts/GenericRealmAccessThresholdRoleContract.js.map +1 -0
- package/dist/Contracts/GenericResourceAccessThresholdRoleContract.js +2 -4
- package/dist/Contracts/GenericResourceAccessThresholdRoleContract.js.map +1 -0
- package/dist/Contracts/index.js +1 -0
- package/dist/Contracts/index.js.map +1 -0
- package/dist/Cryptide/Components/BaseComponent.js +5 -2
- package/dist/Cryptide/Components/BaseComponent.js.map +1 -0
- package/dist/Cryptide/Components/ComponentRegistry.js +1 -0
- package/dist/Cryptide/Components/ComponentRegistry.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/AES/AESScheme.js +1 -0
- package/dist/Cryptide/Components/Schemes/AES/AESScheme.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/AES/index.js +1 -0
- package/dist/Cryptide/Components/Schemes/AES/index.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/BaseScheme.js +5 -5
- package/dist/Cryptide/Components/Schemes/BaseScheme.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +17 -16
- package/dist/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +44 -46
- package/dist/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/Ed25519/index.js +1 -0
- package/dist/Cryptide/Components/Schemes/Ed25519/index.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/SchemeRegistry.js +1 -0
- package/dist/Cryptide/Components/Schemes/SchemeRegistry.js.map +1 -0
- package/dist/Cryptide/Components/Schemes/index.js +1 -0
- package/dist/Cryptide/Components/Schemes/index.js.map +1 -0
- package/dist/Cryptide/Components/index.js +1 -0
- package/dist/Cryptide/Components/index.js.map +1 -0
- package/dist/Cryptide/Ed25519.js +7 -0
- package/dist/Cryptide/Ed25519.js.map +1 -0
- package/dist/Cryptide/Encryption/AES.js +1 -0
- package/dist/Cryptide/Encryption/AES.js.map +1 -0
- package/dist/Cryptide/Encryption/DH.js +1 -0
- package/dist/Cryptide/Encryption/DH.js.map +1 -0
- package/dist/Cryptide/Encryption/ElGamal.js +1 -0
- package/dist/Cryptide/Encryption/ElGamal.js.map +1 -0
- package/dist/Cryptide/Encryption/index.js +1 -0
- package/dist/Cryptide/Encryption/index.js.map +1 -0
- package/dist/Cryptide/Hashing/H2P.js +1 -0
- package/dist/Cryptide/Hashing/H2P.js.map +1 -0
- package/dist/Cryptide/Hashing/Hash.js +1 -0
- package/dist/Cryptide/Hashing/Hash.js.map +1 -0
- package/dist/Cryptide/Hashing/index.js +1 -0
- package/dist/Cryptide/Hashing/index.js.map +1 -0
- package/dist/Cryptide/Interpolation.js +1 -0
- package/dist/Cryptide/Interpolation.js.map +1 -0
- package/dist/Cryptide/Math.js +1 -0
- package/dist/Cryptide/Math.js.map +1 -0
- package/dist/Cryptide/Serialization.d.ts.map +1 -1
- package/dist/Cryptide/Serialization.js +44 -8
- package/dist/Cryptide/Serialization.js.map +1 -0
- package/dist/Cryptide/Signing/BlindSig.d.ts +16 -0
- package/dist/Cryptide/Signing/BlindSig.d.ts.map +1 -1
- package/dist/Cryptide/Signing/BlindSig.js +46 -1
- package/dist/Cryptide/Signing/BlindSig.js.map +1 -0
- package/dist/Cryptide/Signing/EdDSA.js +1 -0
- package/dist/Cryptide/Signing/EdDSA.js.map +1 -0
- package/dist/Cryptide/Signing/TideSignature.d.ts +5 -0
- package/dist/Cryptide/Signing/TideSignature.d.ts.map +1 -1
- package/dist/Cryptide/Signing/TideSignature.js +29 -17
- package/dist/Cryptide/Signing/TideSignature.js.map +1 -0
- package/dist/Cryptide/Signing/index.js +1 -0
- package/dist/Cryptide/Signing/index.js.map +1 -0
- package/dist/Cryptide/TideKey.js +4 -1
- package/dist/Cryptide/TideKey.js.map +1 -0
- package/dist/Cryptide/TideMemoryObjects.js +1 -0
- package/dist/Cryptide/TideMemoryObjects.js.map +1 -0
- package/dist/Cryptide/index.js +1 -0
- package/dist/Cryptide/index.js.map +1 -0
- package/dist/Errors/TideError.d.ts +113 -0
- package/dist/Errors/TideError.d.ts.map +1 -0
- package/dist/Errors/TideError.js +141 -0
- package/dist/Errors/TideError.js.map +1 -0
- package/dist/Errors/codes.d.ts +63 -0
- package/dist/Errors/codes.d.ts.map +1 -0
- package/dist/Errors/codes.js +84 -0
- package/dist/Errors/codes.js.map +1 -0
- package/dist/Errors/index.d.ts +5 -0
- package/dist/Errors/index.d.ts.map +1 -0
- package/dist/Errors/index.js +19 -0
- package/dist/Errors/index.js.map +1 -0
- package/dist/Flow/DecryptionFlows/dVVKDecryptionFlow.d.ts.map +1 -1
- package/dist/Flow/DecryptionFlows/dVVKDecryptionFlow.js +19 -2
- package/dist/Flow/DecryptionFlows/dVVKDecryptionFlow.js.map +1 -0
- package/dist/Flow/DecryptionFlows/index.js +1 -0
- package/dist/Flow/DecryptionFlows/index.js.map +1 -0
- package/dist/Flow/EncryptionFlows/AuthorizedEncryptionFlow.d.ts.map +1 -1
- package/dist/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js +21 -2
- package/dist/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js.map +1 -0
- package/dist/Flow/EncryptionFlows/PolicyAuthorizedEncryptionFlow.d.ts.map +1 -1
- package/dist/Flow/EncryptionFlows/PolicyAuthorizedEncryptionFlow.js +27 -2
- package/dist/Flow/EncryptionFlows/PolicyAuthorizedEncryptionFlow.js.map +1 -0
- package/dist/Flow/EncryptionFlows/index.js +1 -0
- package/dist/Flow/EncryptionFlows/index.js.map +1 -0
- package/dist/Flow/SigningFlows/AuthorizedSigningFlow.d.ts.map +1 -1
- package/dist/Flow/SigningFlows/AuthorizedSigningFlow.js +12 -2
- package/dist/Flow/SigningFlows/AuthorizedSigningFlow.js.map +1 -0
- package/dist/Flow/SigningFlows/dTestVVkSigningFlow.d.ts.map +1 -1
- package/dist/Flow/SigningFlows/dTestVVkSigningFlow.js +28 -2
- package/dist/Flow/SigningFlows/dTestVVkSigningFlow.js.map +1 -0
- package/dist/Flow/SigningFlows/dVVKSigningFlow.d.ts.map +1 -1
- package/dist/Flow/SigningFlows/dVVKSigningFlow.js +24 -3
- package/dist/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -0
- package/dist/Flow/SigningFlows/dVVKSigningFlow2Step.d.ts.map +1 -1
- package/dist/Flow/SigningFlows/dVVKSigningFlow2Step.js +63 -10
- package/dist/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +1 -0
- package/dist/Flow/SigningFlows/index.js +1 -0
- package/dist/Flow/SigningFlows/index.js.map +1 -0
- package/dist/Flow/VoucherFlows/VoucherFlow.js +4 -0
- package/dist/Flow/VoucherFlows/VoucherFlow.js.map +1 -0
- package/dist/Flow/VoucherFlows/index.js +1 -0
- package/dist/Flow/VoucherFlows/index.js.map +1 -0
- package/dist/Flow/index.js +1 -0
- package/dist/Flow/index.js.map +1 -0
- package/dist/Math/KeyDecryption.js +1 -0
- package/dist/Math/KeyDecryption.js.map +1 -0
- package/dist/Math/KeySigning.d.ts.map +1 -1
- package/dist/Math/KeySigning.js +19 -4
- package/dist/Math/KeySigning.js.map +1 -0
- package/dist/Math/index.js +1 -0
- package/dist/Math/index.js.map +1 -0
- package/dist/Models/AuthRequest.js +7 -0
- package/dist/Models/AuthRequest.js.map +1 -0
- package/dist/Models/BaseTideRequest.js +13 -0
- package/dist/Models/BaseTideRequest.js.map +1 -0
- package/dist/Models/CustomTideRequest.js +2 -0
- package/dist/Models/CustomTideRequest.js.map +1 -0
- package/dist/Models/Datum.js +3 -0
- package/dist/Models/Datum.js.map +1 -0
- package/dist/Models/Doken.js +14 -0
- package/dist/Models/Doken.js.map +1 -0
- package/dist/Models/EnclaveEntry.js +8 -0
- package/dist/Models/EnclaveEntry.js.map +1 -0
- package/dist/Models/Infos/KeyInfo.js +5 -0
- package/dist/Models/Infos/KeyInfo.js.map +1 -0
- package/dist/Models/Infos/OrkInfo.js +5 -0
- package/dist/Models/Infos/OrkInfo.js.map +1 -0
- package/dist/Models/Infos/index.js +1 -0
- package/dist/Models/Infos/index.js.map +1 -0
- package/dist/Models/ModelRegistry.js +33 -23
- package/dist/Models/ModelRegistry.js.map +1 -0
- package/dist/Models/Policy.js +14 -3
- package/dist/Models/Policy.js.map +1 -0
- package/dist/Models/PolicyProtectedSerializedField.js +3 -3
- package/dist/Models/PolicyProtectedSerializedField.js.map +1 -0
- package/dist/Models/Responses/Vendor/VoucherResponse.js +7 -0
- package/dist/Models/Responses/Vendor/VoucherResponse.js.map +1 -0
- package/dist/Models/Responses/Vendor/index.js +1 -0
- package/dist/Models/Responses/Vendor/index.js.map +1 -0
- package/dist/Models/Responses/index.js +1 -0
- package/dist/Models/Responses/index.js.map +1 -0
- package/dist/Models/SerializedField.js +3 -3
- package/dist/Models/SerializedField.js.map +1 -0
- package/dist/Models/VendorData.js +5 -0
- package/dist/Models/VendorData.js.map +1 -0
- package/dist/Models/VendorSettings.js +5 -0
- package/dist/Models/VendorSettings.js.map +1 -0
- package/dist/Models/index.js +1 -0
- package/dist/Models/index.js.map +1 -0
- package/dist/Tools/TideMemory.js +1 -0
- package/dist/Tools/TideMemory.js.map +1 -0
- package/dist/Tools/Utils.d.ts.map +1 -1
- package/dist/Tools/Utils.js +75 -8
- package/dist/Tools/Utils.js.map +1 -0
- package/dist/Tools/index.js +1 -0
- package/dist/Tools/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -5,6 +5,18 @@ export default class ClientBase {
|
|
|
5
5
|
sessionKeyPublicEncoded: any;
|
|
6
6
|
constructor(url: string);
|
|
7
7
|
_createFormData(form: Object): FormData;
|
|
8
|
+
/**
|
|
9
|
+
* Distinguish AbortError causes:
|
|
10
|
+
* - if the caller supplied their own signal AND it is now aborted, classify as NET_ABORTED
|
|
11
|
+
* - otherwise we hit our internal `setTimeout` -> NET_TIMEOUT
|
|
12
|
+
* - everything else (TypeError from fetch, DNS, CORS, ...) -> NET_FETCH_FAILED
|
|
13
|
+
*
|
|
14
|
+
* `endpoint` + `method` are threaded through so the resulting TideError
|
|
15
|
+
* carries the full URL of the failed call — this is what makes the error
|
|
16
|
+
* debuggable in the browser console (you immediately see *which* ORK was
|
|
17
|
+
* unreachable, not just "Network request failed").
|
|
18
|
+
*/
|
|
19
|
+
private _classifyFetchError;
|
|
8
20
|
_get(endpoint: string, timeout?: number, signal?: AbortSignal): Promise<Response>;
|
|
9
21
|
/**
|
|
10
22
|
* Silent get, makes a returns a response without handling response errors.
|
|
@@ -17,7 +29,26 @@ export default class ClientBase {
|
|
|
17
29
|
* Post silent returns the response without handling response errors.
|
|
18
30
|
*/
|
|
19
31
|
_postSilent(endpoint: string, data: FormData, timeout?: number): Promise<Response>;
|
|
20
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Convert a server response into either:
|
|
34
|
+
* - a success body (`text/plain`, voucher path, 2xx)
|
|
35
|
+
* - a thrown {@link TideError} (any error path)
|
|
36
|
+
*
|
|
37
|
+
* Branches in order of preference:
|
|
38
|
+
* 1. `application/problem+json` (4xx/5xx) -> parse Problem Details, pass-through `code`/`traceId`/`type`/`detail`.
|
|
39
|
+
* 2. Legacy `--FAILED--:` envelope on 200 -> wrap as `PARSE_UNKNOWN_FORMAT`, console.warn the upgrade hint.
|
|
40
|
+
* 3. `!response.ok` with neither match -> `NET_NON_OK_STATUS`.
|
|
41
|
+
* 4. Otherwise return the raw body text.
|
|
42
|
+
*
|
|
43
|
+
* The historical `throwError` parameter is preserved for API compatibility
|
|
44
|
+
* but is now a no-op: we ALWAYS throw on error (and return body on success).
|
|
45
|
+
* The previous mixed throw/reject behaviour was bug-prone — see locked spec.
|
|
46
|
+
*
|
|
47
|
+
* @param response The fetch Response.
|
|
48
|
+
* @param functionName Name of the calling client method (for error source).
|
|
49
|
+
* @param _throwError Deprecated, retained for ABI compatibility. Errors are always thrown.
|
|
50
|
+
*/
|
|
51
|
+
_handleError(response: Response, functionName?: string, _throwError?: boolean): Promise<string>;
|
|
21
52
|
_handleErrorSimulator(response: Response): Promise<string>;
|
|
22
53
|
AddBearerAuthorization(sessionKeyPrivate: Uint8Array, sessionKeyPublicEncoded: string, token: string): this;
|
|
23
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientBase.d.ts","sourceRoot":"","sources":["../../Clients/ClientBase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClientBase.d.ts","sourceRoot":"","sources":["../../Clients/ClientBase.ts"],"names":[],"mappings":"AAsCA,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,GAAG,CAAC;IAC1B,uBAAuB,EAAE,GAAG,CAAC;gBAEjB,GAAG,EAAE,MAAM;IAIvB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAgBvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IA8CrB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc,EAAE,MAAM,GAAE,WAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6BpG;;MAEE;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc,EAAE,MAAM,GAAE,WAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6BpG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,MAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BnF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOzD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAWlE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,MAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmB/F;;;;;;;;;;;;;;;;;;OAkBG;IACG,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAE,MAAW,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAkG1G,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAchE,sBAAsB,CAAC,iBAAiB,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAMvG"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
//
|
|
1
|
+
//
|
|
2
2
|
// Tide Protocol - Infrastructure for a TRUE Zero-Trust paradigm
|
|
3
3
|
// Copyright (C) 2022 Tide Foundation Ltd
|
|
4
|
-
//
|
|
5
|
-
// This program is free software and is subject to the terms of
|
|
6
|
-
// the Tide Community Open Code License as published by the
|
|
7
|
-
// Tide Foundation Limited. You may modify it and redistribute
|
|
4
|
+
//
|
|
5
|
+
// This program is free software and is subject to the terms of
|
|
6
|
+
// the Tide Community Open Code License as published by the
|
|
7
|
+
// Tide Foundation Limited. You may modify it and redistribute
|
|
8
8
|
// it in accordance with and subject to the terms of that License.
|
|
9
|
-
// This program is distributed WITHOUT WARRANTY of any kind,
|
|
10
|
-
// including without any implied warranty of MERCHANTABILITY or
|
|
9
|
+
// This program is distributed WITHOUT WARRANTY of any kind,
|
|
10
|
+
// including without any implied warranty of MERCHANTABILITY or
|
|
11
11
|
// FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
12
|
// See the Tide Community Open Code License for more details.
|
|
13
|
-
// You should have received a copy of the Tide Community Open
|
|
13
|
+
// You should have received a copy of the Tide Community Open
|
|
14
14
|
// Code License along with this program.
|
|
15
15
|
// If not, see https://tide.org/licenses_tcoc2-0-0-en
|
|
16
16
|
//
|
|
17
|
+
import { TideError } from "../Errors/TideError";
|
|
18
|
+
import { TideJsErrorCodes } from "../Errors/codes";
|
|
17
19
|
export default class ClientBase {
|
|
20
|
+
url;
|
|
21
|
+
token;
|
|
22
|
+
sessionKeyPrivateRaw;
|
|
23
|
+
sessionKeyPublicEncoded;
|
|
18
24
|
constructor(url) {
|
|
19
25
|
this.url = url;
|
|
20
26
|
}
|
|
@@ -31,6 +37,53 @@ export default class ClientBase {
|
|
|
31
37
|
});
|
|
32
38
|
return formData;
|
|
33
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Distinguish AbortError causes:
|
|
42
|
+
* - if the caller supplied their own signal AND it is now aborted, classify as NET_ABORTED
|
|
43
|
+
* - otherwise we hit our internal `setTimeout` -> NET_TIMEOUT
|
|
44
|
+
* - everything else (TypeError from fetch, DNS, CORS, ...) -> NET_FETCH_FAILED
|
|
45
|
+
*
|
|
46
|
+
* `endpoint` + `method` are threaded through so the resulting TideError
|
|
47
|
+
* carries the full URL of the failed call — this is what makes the error
|
|
48
|
+
* debuggable in the browser console (you immediately see *which* ORK was
|
|
49
|
+
* unreachable, not just "Network request failed").
|
|
50
|
+
*/
|
|
51
|
+
_classifyFetchError(e, callerSignal, source, endpoint, method) {
|
|
52
|
+
const url = this.url + endpoint;
|
|
53
|
+
const isAbort = (typeof DOMException !== "undefined" && e instanceof DOMException && e.name === "AbortError")
|
|
54
|
+
|| (e instanceof Error && e.name === "AbortError");
|
|
55
|
+
if (isAbort) {
|
|
56
|
+
if (callerSignal && callerSignal.aborted) {
|
|
57
|
+
return new TideError({
|
|
58
|
+
code: TideJsErrorCodes.NET_ABORTED,
|
|
59
|
+
displayMessage: "Network request was aborted by the caller",
|
|
60
|
+
source,
|
|
61
|
+
url,
|
|
62
|
+
endpoint,
|
|
63
|
+
method,
|
|
64
|
+
cause: e,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return new TideError({
|
|
68
|
+
code: TideJsErrorCodes.NET_TIMEOUT,
|
|
69
|
+
displayMessage: "Network request timed out",
|
|
70
|
+
source,
|
|
71
|
+
url,
|
|
72
|
+
endpoint,
|
|
73
|
+
method,
|
|
74
|
+
cause: e,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return new TideError({
|
|
78
|
+
code: TideJsErrorCodes.NET_FETCH_FAILED,
|
|
79
|
+
displayMessage: "Network request failed",
|
|
80
|
+
source,
|
|
81
|
+
url,
|
|
82
|
+
endpoint,
|
|
83
|
+
method,
|
|
84
|
+
cause: e,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
34
87
|
async _get(endpoint, timeout = 20000, signal = null) {
|
|
35
88
|
const controller = new AbortController();
|
|
36
89
|
const id = setTimeout(() => controller.abort(), timeout);
|
|
@@ -42,11 +95,21 @@ export default class ClientBase {
|
|
|
42
95
|
});
|
|
43
96
|
clearTimeout(id);
|
|
44
97
|
}
|
|
45
|
-
catch {
|
|
46
|
-
|
|
98
|
+
catch (e) {
|
|
99
|
+
clearTimeout(id);
|
|
100
|
+
throw this._classifyFetchError(e, signal, "Clients/ClientBase.ts:_get", endpoint, "GET");
|
|
101
|
+
}
|
|
102
|
+
if (!response.ok) {
|
|
103
|
+
throw new TideError({
|
|
104
|
+
code: TideJsErrorCodes.NET_NON_OK_STATUS,
|
|
105
|
+
displayMessage: `Request to ${endpoint} returned HTTP ${response.status}`,
|
|
106
|
+
httpStatus: response.status,
|
|
107
|
+
source: "Clients/ClientBase.ts:_get",
|
|
108
|
+
url: this.url + endpoint,
|
|
109
|
+
endpoint,
|
|
110
|
+
method: "GET",
|
|
111
|
+
});
|
|
47
112
|
}
|
|
48
|
-
if (!response.ok)
|
|
49
|
-
throw Error("Ork.Exceptions.Network.StatusException");
|
|
50
113
|
return response;
|
|
51
114
|
}
|
|
52
115
|
/**
|
|
@@ -63,11 +126,21 @@ export default class ClientBase {
|
|
|
63
126
|
});
|
|
64
127
|
clearTimeout(id);
|
|
65
128
|
}
|
|
66
|
-
catch {
|
|
67
|
-
|
|
129
|
+
catch (e) {
|
|
130
|
+
clearTimeout(id);
|
|
131
|
+
throw this._classifyFetchError(e, signal, "Clients/ClientBase.ts:_getSilent", endpoint, "GET");
|
|
132
|
+
}
|
|
133
|
+
if (!response.ok) {
|
|
134
|
+
throw new TideError({
|
|
135
|
+
code: TideJsErrorCodes.NET_NON_OK_STATUS,
|
|
136
|
+
displayMessage: `Request to ${endpoint} returned HTTP ${response.status}`,
|
|
137
|
+
httpStatus: response.status,
|
|
138
|
+
source: "Clients/ClientBase.ts:_getSilent",
|
|
139
|
+
url: this.url + endpoint,
|
|
140
|
+
endpoint,
|
|
141
|
+
method: "GET",
|
|
142
|
+
});
|
|
68
143
|
}
|
|
69
|
-
if (!response.ok)
|
|
70
|
-
throw Error("Ork.Exceptions.Network.StatusException");
|
|
71
144
|
return response;
|
|
72
145
|
}
|
|
73
146
|
async _post(endpoint, data, timeout = 20000) {
|
|
@@ -84,11 +157,20 @@ export default class ClientBase {
|
|
|
84
157
|
});
|
|
85
158
|
clearTimeout(id);
|
|
86
159
|
}
|
|
87
|
-
catch {
|
|
88
|
-
|
|
160
|
+
catch (e) {
|
|
161
|
+
clearTimeout(id);
|
|
162
|
+
// `_post` does not accept a caller signal — abort can only come
|
|
163
|
+
// from our own timeout controller.
|
|
164
|
+
throw this._classifyFetchError(e, null, "Clients/ClientBase.ts:_post", endpoint, "POST");
|
|
165
|
+
}
|
|
166
|
+
if (!response.ok) {
|
|
167
|
+
// Do NOT throw NET_NON_OK_STATUS here — for the voucher slice,
|
|
168
|
+
// ORK now returns 4xx/5xx with `application/problem+json`, and
|
|
169
|
+
// callers always pipe the response through `_handleError`, which
|
|
170
|
+
// parses Problem Details and constructs a richer TideError. Throw
|
|
171
|
+
// generically here would lose that information.
|
|
172
|
+
// Keep the response object; let the caller decide.
|
|
89
173
|
}
|
|
90
|
-
if (!response.ok)
|
|
91
|
-
throw Error("Ork.Exceptions.Network.StatusException");
|
|
92
174
|
return response;
|
|
93
175
|
}
|
|
94
176
|
async _put(endpoint, data) {
|
|
@@ -122,33 +204,134 @@ export default class ClientBase {
|
|
|
122
204
|
});
|
|
123
205
|
clearTimeout(id);
|
|
124
206
|
}
|
|
125
|
-
catch {
|
|
126
|
-
|
|
207
|
+
catch (e) {
|
|
208
|
+
clearTimeout(id);
|
|
209
|
+
throw this._classifyFetchError(e, null, "Clients/ClientBase.ts:_postSilent", endpoint, "POST");
|
|
127
210
|
}
|
|
128
211
|
return response;
|
|
129
212
|
}
|
|
130
|
-
|
|
131
|
-
|
|
213
|
+
/**
|
|
214
|
+
* Convert a server response into either:
|
|
215
|
+
* - a success body (`text/plain`, voucher path, 2xx)
|
|
216
|
+
* - a thrown {@link TideError} (any error path)
|
|
217
|
+
*
|
|
218
|
+
* Branches in order of preference:
|
|
219
|
+
* 1. `application/problem+json` (4xx/5xx) -> parse Problem Details, pass-through `code`/`traceId`/`type`/`detail`.
|
|
220
|
+
* 2. Legacy `--FAILED--:` envelope on 200 -> wrap as `PARSE_UNKNOWN_FORMAT`, console.warn the upgrade hint.
|
|
221
|
+
* 3. `!response.ok` with neither match -> `NET_NON_OK_STATUS`.
|
|
222
|
+
* 4. Otherwise return the raw body text.
|
|
223
|
+
*
|
|
224
|
+
* The historical `throwError` parameter is preserved for API compatibility
|
|
225
|
+
* but is now a no-op: we ALWAYS throw on error (and return body on success).
|
|
226
|
+
* The previous mixed throw/reject behaviour was bug-prone — see locked spec.
|
|
227
|
+
*
|
|
228
|
+
* @param response The fetch Response.
|
|
229
|
+
* @param functionName Name of the calling client method (for error source).
|
|
230
|
+
* @param _throwError Deprecated, retained for ABI compatibility. Errors are always thrown.
|
|
231
|
+
*/
|
|
232
|
+
async _handleError(response, functionName = "", _throwError = false) {
|
|
233
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
234
|
+
const source = `Clients/ClientBase.ts:_handleError(${functionName})`;
|
|
235
|
+
// `response.url` is the final URL (post-redirect). We use it as a
|
|
236
|
+
// best-effort source for the debug fields; `_handleError` doesn't
|
|
237
|
+
// know the original endpoint string, so we derive endpoint from the
|
|
238
|
+
// URL path.
|
|
239
|
+
const url = response.url || undefined;
|
|
240
|
+
let endpoint;
|
|
241
|
+
if (url) {
|
|
242
|
+
try {
|
|
243
|
+
endpoint = new URL(url).pathname;
|
|
244
|
+
}
|
|
245
|
+
catch { /* ignore */ }
|
|
246
|
+
}
|
|
247
|
+
// ---- (1) Problem Details (RFC 7807 + Tide extensions) -------------
|
|
248
|
+
if (contentType.toLowerCase().includes("application/problem+json")) {
|
|
249
|
+
const raw = await response.text();
|
|
250
|
+
let problem;
|
|
251
|
+
try {
|
|
252
|
+
problem = JSON.parse(raw);
|
|
253
|
+
}
|
|
254
|
+
catch (parseErr) {
|
|
255
|
+
throw new TideError({
|
|
256
|
+
code: TideJsErrorCodes.PARSE_PROBLEM_JSON_INVALID,
|
|
257
|
+
displayMessage: "Server returned application/problem+json but the body did not parse",
|
|
258
|
+
httpStatus: response.status,
|
|
259
|
+
source,
|
|
260
|
+
url,
|
|
261
|
+
endpoint,
|
|
262
|
+
cause: parseErr,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
if (!problem || typeof problem !== "object" || typeof problem.code !== "string") {
|
|
266
|
+
throw new TideError({
|
|
267
|
+
code: TideJsErrorCodes.PARSE_PROBLEM_JSON_INVALID,
|
|
268
|
+
displayMessage: "Server returned application/problem+json without a `code` field",
|
|
269
|
+
httpStatus: response.status,
|
|
270
|
+
source,
|
|
271
|
+
url,
|
|
272
|
+
endpoint,
|
|
273
|
+
problemType: problem?.type,
|
|
274
|
+
cause: raw,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
// Pass-through. The upstream `code` (e.g. `TIDE-ORK-SIG-VERIFY_FAILED`)
|
|
278
|
+
// is preserved verbatim — keycloak-IGA's `getTideErrorInfo` expects
|
|
279
|
+
// to see the originating code, not a tide-js wrapper code.
|
|
280
|
+
throw new TideError({
|
|
281
|
+
code: problem.code,
|
|
282
|
+
displayMessage: problem.detail ?? problem.title ?? "Upstream error",
|
|
283
|
+
messageKey: problem.messageKey ?? null,
|
|
284
|
+
messageParams: problem.messageParams ?? null,
|
|
285
|
+
traceId: problem.traceId,
|
|
286
|
+
source: problem.source,
|
|
287
|
+
httpStatus: problem.status ?? response.status,
|
|
288
|
+
problemType: problem.type,
|
|
289
|
+
url,
|
|
290
|
+
endpoint,
|
|
291
|
+
});
|
|
292
|
+
}
|
|
132
293
|
const responseData = await response.text();
|
|
294
|
+
// ---- (2) Legacy `--FAILED--:` envelope on a 200 ------------------
|
|
133
295
|
if (responseData.split(":")[0] === "--FAILED--") {
|
|
296
|
+
const legacyDetail = responseData.split(":").slice(1).join(":");
|
|
134
297
|
console.error(responseData);
|
|
135
|
-
|
|
298
|
+
console.warn(`legacy --FAILED-- envelope from ${response.url || this.url} — server should be upgraded to application/problem+json`);
|
|
299
|
+
throw new TideError({
|
|
300
|
+
code: TideJsErrorCodes.PARSE_UNKNOWN_FORMAT,
|
|
301
|
+
displayMessage: legacyDetail || "Legacy --FAILED-- envelope received",
|
|
302
|
+
httpStatus: response.status,
|
|
303
|
+
source,
|
|
304
|
+
url,
|
|
305
|
+
endpoint,
|
|
306
|
+
cause: responseData,
|
|
307
|
+
});
|
|
136
308
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
309
|
+
// ---- (3) Non-ok with no recognised envelope ----------------------
|
|
310
|
+
if (!response.ok) {
|
|
311
|
+
throw new TideError({
|
|
312
|
+
code: TideJsErrorCodes.NET_NON_OK_STATUS,
|
|
313
|
+
displayMessage: `Request returned HTTP ${response.status}`,
|
|
314
|
+
httpStatus: response.status,
|
|
315
|
+
source,
|
|
316
|
+
url,
|
|
317
|
+
endpoint,
|
|
318
|
+
cause: responseData,
|
|
319
|
+
});
|
|
142
320
|
}
|
|
321
|
+
// ---- (4) Success -------------------------------------------------
|
|
143
322
|
return responseData;
|
|
144
323
|
}
|
|
145
324
|
async _handleErrorSimulator(response) {
|
|
146
|
-
var error = "";
|
|
147
325
|
const responseData = await response.text();
|
|
148
|
-
if (!response.ok)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
326
|
+
if (!response.ok) {
|
|
327
|
+
throw new TideError({
|
|
328
|
+
code: TideJsErrorCodes.NET_NON_OK_STATUS,
|
|
329
|
+
displayMessage: responseData || `Request returned HTTP ${response.status}`,
|
|
330
|
+
httpStatus: response.status,
|
|
331
|
+
source: "Clients/ClientBase.ts:_handleErrorSimulator",
|
|
332
|
+
cause: responseData,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
152
335
|
return responseData;
|
|
153
336
|
}
|
|
154
337
|
AddBearerAuthorization(sessionKeyPrivate, sessionKeyPublicEncoded, token) {
|
|
@@ -158,3 +341,4 @@ export default class ClientBase {
|
|
|
158
341
|
return this;
|
|
159
342
|
}
|
|
160
343
|
}
|
|
344
|
+
//# sourceMappingURL=ClientBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientBase.js","sourceRoot":"","sources":["../../Clients/ClientBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../Clients/NetworkClient.ts"],"names":[],"mappings":"AAiBA,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,UAAU,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../Clients/NetworkClient.ts"],"names":[],"mappings":"AAiBA,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,UAAU,MAAM,cAAc,CAAA;AAIrC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;gBACrC,GAAG,GAAE,MAAa;IAMxB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmB9C,WAAW;IAUX,WAAW,CAAC,WAAW,KAAA;IAQvB,UAAU,CAAC,GAAG,EAAE,MAAM;CAe/B"}
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
import KeyInfo from "../Models/Infos/KeyInfo";
|
|
18
18
|
import OrkInfo from "../Models/Infos/OrkInfo";
|
|
19
19
|
import ClientBase from "./ClientBase";
|
|
20
|
+
import { TideError } from "../Errors/TideError";
|
|
21
|
+
import { TideJsErrorCodes } from "../Errors/codes";
|
|
20
22
|
export default class NetworkClient extends ClientBase {
|
|
21
23
|
constructor(url = null) {
|
|
22
24
|
if (url == null)
|
|
@@ -25,17 +27,23 @@ export default class NetworkClient extends ClientBase {
|
|
|
25
27
|
super(url); // no gaurantee that the home ork will be part of selected orks, we need a selected ork url here for uncommitted entries
|
|
26
28
|
}
|
|
27
29
|
async FindReservers(uid) {
|
|
28
|
-
const
|
|
30
|
+
const endpoint = `/Network/Authentication/Users/GetReservers/${uid}`;
|
|
31
|
+
const response = await this._get(endpoint);
|
|
29
32
|
try {
|
|
30
33
|
const responseData = await this._handleError(response, "Find Reservers");
|
|
31
34
|
const formattedResponse = JSON.parse(responseData);
|
|
32
35
|
if (formattedResponse.length == 0)
|
|
33
|
-
throw
|
|
36
|
+
throw new TideError({
|
|
37
|
+
code: TideJsErrorCodes.VAL_UID_FORBIDDEN,
|
|
38
|
+
displayMessage: `Username forbidden (uid prefix=${(uid ?? '').slice(0, 12)}, endpoint=${endpoint ?? this.url})`,
|
|
39
|
+
source: "Clients/NetworkClient.ts:34",
|
|
40
|
+
});
|
|
34
41
|
const returnedResponse = formattedResponse.map(orkEntry => OrkInfo.from(orkEntry));
|
|
35
42
|
return returnedResponse;
|
|
36
43
|
}
|
|
37
44
|
catch (err) {
|
|
38
|
-
|
|
45
|
+
// If it's already a TideError, propagate verbatim — don't lose code/url/cause.
|
|
46
|
+
throw err;
|
|
39
47
|
}
|
|
40
48
|
}
|
|
41
49
|
async GetSomeORKs() {
|
|
@@ -60,9 +68,15 @@ export default class NetworkClient extends ClientBase {
|
|
|
60
68
|
try {
|
|
61
69
|
responseData = await this._handleError(response, "Get Key Info");
|
|
62
70
|
}
|
|
63
|
-
catch {
|
|
64
|
-
throw
|
|
71
|
+
catch (err) {
|
|
72
|
+
throw new TideError({
|
|
73
|
+
code: TideJsErrorCodes.VAL_INVALID_ACCOUNT,
|
|
74
|
+
displayMessage: "simulator.invalidAccount", // preserve the sentinel string in displayMessage for any callers matching on .message
|
|
75
|
+
source: "Clients/NetworkClient.ts:66",
|
|
76
|
+
cause: err, // preserve the upstream TideError if there is one
|
|
77
|
+
});
|
|
65
78
|
}
|
|
66
79
|
return KeyInfo.from(responseData);
|
|
67
80
|
}
|
|
68
81
|
}
|
|
82
|
+
//# sourceMappingURL=NetworkClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkClient.js","sourceRoot":"","sources":["../../Clients/NetworkClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClient.d.ts","sourceRoot":"","sources":["../../Clients/NodeClient.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeClient.d.ts","sourceRoot":"","sources":["../../Clients/NodeClient.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;gBAEJ,GAAG,EAAE,MAAM;IAKjB,QAAQ;IAMR,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAA,EAAE,OAAO,CAAC,KAAA;IAUlD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;;;;;;;IAwC9E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU;;;;IAyCnG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;;;;IAmC9E,qBAAqB,CAAC,UAAU,KAAA,EAAE,WAAW,KAAA,EAAE,aAAa,KAAA;IAS5D,eAAe,CAAC,QAAQ,KAAA;IAOxB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,YAAY,KAAA;IAqBnD,qBAAqB,CAAC,QAAQ,KAAA,EAAE,gBAAgB,KAAA,EAAE,SAAS,KAAA,EAAE,YAAY,KAAA;IAwBzE,2BAA2B,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,EAAE,SAAS,KAAA,EAAE,YAAY,KAAA;IAW1E,kBAAkB,CAAC,aAAa,KAAA,EAAE,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,YAAY,KAAA;IAWpE,kBAAkB,CAAC,SAAS,KAAA,EAAE,gBAAgB,KAAA,EAAE,SAAS,KAAA,EAAE,YAAY,KAAA;CAYhF"}
|
|
@@ -18,7 +18,12 @@ import { Encryption } from "../Cryptide/index";
|
|
|
18
18
|
import ClientBase from "./ClientBase";
|
|
19
19
|
import { BigIntFromByteArray, ConcatUint8Arrays, CreateTideMemoryFromArray, GetValue, base64ToBytes, bytesToBase64 } from "../Cryptide/Serialization";
|
|
20
20
|
import { Point } from "../Cryptide/Ed25519";
|
|
21
|
+
import { TideError } from "../Errors/TideError";
|
|
22
|
+
import { TideJsErrorCodes } from "../Errors/codes";
|
|
21
23
|
export default class NodeClient extends ClientBase {
|
|
24
|
+
enabledTideDH;
|
|
25
|
+
DHKey;
|
|
26
|
+
orkCacheId;
|
|
22
27
|
constructor(url) {
|
|
23
28
|
super(url);
|
|
24
29
|
this.enabledTideDH = false;
|
|
@@ -30,14 +35,22 @@ export default class NodeClient extends ClientBase {
|
|
|
30
35
|
}
|
|
31
36
|
async EnableTideDH(orkPublic, gSessKey, sessKey) {
|
|
32
37
|
if (!this.sessionKeyPrivateRaw)
|
|
33
|
-
throw
|
|
38
|
+
throw new TideError({
|
|
39
|
+
code: TideJsErrorCodes.VAL_MISSING_SESSION_KEY,
|
|
40
|
+
displayMessage: "Add a session key to the client first",
|
|
41
|
+
source: "Clients/NodeClient.ts:EnableTideDH",
|
|
42
|
+
});
|
|
34
43
|
this.enabledTideDH = true;
|
|
35
44
|
this.DHKey = await Encryption.DH.computeSharedKey(orkPublic, this.sessionKeyPrivateRaw);
|
|
36
45
|
return this;
|
|
37
46
|
}
|
|
38
47
|
async PreSign(index, vuid, request, voucher) {
|
|
39
48
|
if (!this.enabledTideDH)
|
|
40
|
-
throw
|
|
49
|
+
throw new TideError({
|
|
50
|
+
code: TideJsErrorCodes.VAL_MISSING_SESSION_KEY,
|
|
51
|
+
displayMessage: "TideDH must be enabled",
|
|
52
|
+
source: "Clients/NodeClient.ts:PreSign",
|
|
53
|
+
});
|
|
41
54
|
const encrypted = await Encryption.AES.encryptData(CreateTideMemoryFromArray([request.encode()]), this.DHKey);
|
|
42
55
|
const data = this._createFormData({
|
|
43
56
|
'encrypted': encrypted,
|
|
@@ -50,7 +63,11 @@ export default class NodeClient extends ClientBase {
|
|
|
50
63
|
const decrypted = await Encryption.AES.decryptDataRawOutput(base64ToBytes(responseData), this.DHKey);
|
|
51
64
|
const GRSection = GetValue(decrypted, 0);
|
|
52
65
|
if (GRSection.length % 32 != 0)
|
|
53
|
-
throw new
|
|
66
|
+
throw new TideError({
|
|
67
|
+
code: TideJsErrorCodes.PARSE_UNKNOWN_FORMAT,
|
|
68
|
+
displayMessage: "Unexpected response length. Must be divisible by 32",
|
|
69
|
+
source: "Clients/NodeClient.ts:PreSign",
|
|
70
|
+
});
|
|
54
71
|
let GRis = [];
|
|
55
72
|
for (let i = 0; i < GRSection.length; i += 32) {
|
|
56
73
|
GRis.push(Point.fromBytes(GRSection.slice(i, i + 32)));
|
|
@@ -66,9 +83,17 @@ export default class NodeClient extends ClientBase {
|
|
|
66
83
|
}
|
|
67
84
|
async Sign(vuid, request, GRs, bitwise, sessId) {
|
|
68
85
|
if (!this.enabledTideDH)
|
|
69
|
-
throw
|
|
86
|
+
throw new TideError({
|
|
87
|
+
code: TideJsErrorCodes.VAL_MISSING_SESSION_KEY,
|
|
88
|
+
displayMessage: "TideDH must be enabled",
|
|
89
|
+
source: "Clients/NodeClient.ts:Sign",
|
|
90
|
+
});
|
|
70
91
|
if (!this.orkCacheId)
|
|
71
|
-
throw
|
|
92
|
+
throw new TideError({
|
|
93
|
+
code: TideJsErrorCodes.VAL_MISSING_SESSION_KEY,
|
|
94
|
+
displayMessage: "Call PreSign first",
|
|
95
|
+
source: "Clients/NodeClient.ts:Sign",
|
|
96
|
+
});
|
|
72
97
|
const payload = CreateTideMemoryFromArray([
|
|
73
98
|
request.encode(),
|
|
74
99
|
ConcatUint8Arrays([new Uint8Array([GRs.length]), ...GRs.map(r => r.toRawBytes())]),
|
|
@@ -97,7 +122,11 @@ export default class NodeClient extends ClientBase {
|
|
|
97
122
|
}
|
|
98
123
|
async Decrypt(index, vuid, request, voucher) {
|
|
99
124
|
if (!this.enabledTideDH)
|
|
100
|
-
throw
|
|
125
|
+
throw new TideError({
|
|
126
|
+
code: TideJsErrorCodes.VAL_MISSING_SESSION_KEY,
|
|
127
|
+
displayMessage: "TideDH must be enabled",
|
|
128
|
+
source: "Clients/NodeClient.ts:Decrypt",
|
|
129
|
+
});
|
|
101
130
|
const encrypted = await Encryption.AES.encryptData(CreateTideMemoryFromArray([request.encode()]), this.DHKey);
|
|
102
131
|
const data = this._createFormData({
|
|
103
132
|
'encrypted': encrypted,
|
|
@@ -109,7 +138,11 @@ export default class NodeClient extends ClientBase {
|
|
|
109
138
|
const responseData = await this._handleError(response, 'Decrypt');
|
|
110
139
|
const decrypted = await Encryption.AES.decryptDataRawOutput(base64ToBytes(responseData), this.DHKey);
|
|
111
140
|
if (decrypted.length % 32 != 0)
|
|
112
|
-
throw new
|
|
141
|
+
throw new TideError({
|
|
142
|
+
code: TideJsErrorCodes.PARSE_UNKNOWN_FORMAT,
|
|
143
|
+
displayMessage: "Unexpected response length. Must be divisible by 32",
|
|
144
|
+
source: "Clients/NodeClient.ts:Decrypt",
|
|
145
|
+
});
|
|
113
146
|
let appliedC1s = [];
|
|
114
147
|
for (let i = 0; i < decrypted.length; i += 32) {
|
|
115
148
|
appliedC1s.push(Point.fromBytes(decrypted.slice(i, i + 32)));
|
|
@@ -138,11 +171,18 @@ export default class NodeClient extends ClientBase {
|
|
|
138
171
|
"timestamp": timestamp,
|
|
139
172
|
"timestampSig": timestampSig
|
|
140
173
|
});
|
|
141
|
-
const
|
|
174
|
+
const endpoint = `/Payer/License/getLicenseDetails?obfGVVK=${vendorId}`;
|
|
175
|
+
const response = await this._postSilent(endpoint, data);
|
|
142
176
|
const responseData = await response.text();
|
|
143
177
|
if (responseData.startsWith("--FAILED--")) {
|
|
144
|
-
|
|
145
|
-
|
|
178
|
+
throw new TideError({
|
|
179
|
+
code: TideJsErrorCodes.PROXY_UPSTREAM_ERROR,
|
|
180
|
+
displayMessage: `Upstream returned an error for license-details lookup`,
|
|
181
|
+
endpoint: endpoint,
|
|
182
|
+
url: this.url + endpoint,
|
|
183
|
+
source: "Clients/NodeClient.ts:192",
|
|
184
|
+
cause: new Error(typeof responseData === "string" ? responseData.slice(0, 256) : JSON.stringify(responseData ?? '').slice(0, 256)),
|
|
185
|
+
});
|
|
146
186
|
}
|
|
147
187
|
return responseData;
|
|
148
188
|
}
|
|
@@ -152,11 +192,18 @@ export default class NodeClient extends ClientBase {
|
|
|
152
192
|
"timestamp": timestamp,
|
|
153
193
|
"timestampSig": timestampSig
|
|
154
194
|
});
|
|
155
|
-
const
|
|
195
|
+
const endpoint = `/Payer/License/GetSubscriptionStatus?obfGVVK=${vendorId}`;
|
|
196
|
+
const response = await this._postSilent(endpoint, data);
|
|
156
197
|
const responseData = await response.text();
|
|
157
198
|
if (responseData.startsWith("--FAILED--")) {
|
|
158
|
-
|
|
159
|
-
|
|
199
|
+
throw new TideError({
|
|
200
|
+
code: TideJsErrorCodes.PROXY_UPSTREAM_ERROR,
|
|
201
|
+
displayMessage: `Upstream returned an error for license-details lookup`,
|
|
202
|
+
endpoint: endpoint,
|
|
203
|
+
url: this.url + endpoint,
|
|
204
|
+
source: "Clients/NodeClient.ts:207",
|
|
205
|
+
cause: new Error(typeof responseData === "string" ? responseData.slice(0, 256) : JSON.stringify(responseData ?? '').slice(0, 256)),
|
|
206
|
+
});
|
|
160
207
|
}
|
|
161
208
|
const status = responseData.toLowerCase() === "active" ? "upcoming renewal" : responseData.toLowerCase();
|
|
162
209
|
return status;
|
|
@@ -189,3 +236,4 @@ export default class NodeClient extends ClientBase {
|
|
|
189
236
|
return await this._postSilent(`/Payer/License/CancelSubscription`, data);
|
|
190
237
|
}
|
|
191
238
|
}
|
|
239
|
+
//# sourceMappingURL=NodeClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeClient.js","sourceRoot":"","sources":["../../Clients/NodeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoucherClient.js","sourceRoot":"","sources":["../../Clients/VoucherClient.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,gEAAgE;AAChE,yCAAyC;AACzC,GAAG;AACH,gEAAgE;AAChE,4DAA4D;AAC5D,+DAA+D;AAC/D,kEAAkE;AAClE,6DAA6D;AAC7D,gEAAgE;AAChE,oCAAoC;AACpC,6DAA6D;AAC7D,8DAA8D;AAC9D,wCAAwC;AACxC,qDAAqD;AACrD,EAAE;AAEF,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,eAAe,MAAM,4CAA4C,CAAC;AAGzE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IACjD,YAAY,GAAW;QACnB,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAkB,EAAE,aAAqB,EAAE,OAAc;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjD,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;YAC9B,gBAAgB,EAAE,OAAO;SAC5B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAE7E,OAAO,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;CACJ"}
|