@ibm-aspera/sdk 0.2.8 → 0.2.12
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/.whitesource +3 -0
- package/README.md +1 -1
- package/dist/commonjs/app/core.d.ts +8 -37
- package/dist/commonjs/app/core.js +198 -70
- package/dist/commonjs/connect/core.d.ts +11 -0
- package/dist/commonjs/connect/core.js +73 -0
- package/dist/commonjs/constants/constants.d.ts +1 -1
- package/dist/commonjs/constants/messages.d.ts +5 -0
- package/dist/commonjs/constants/messages.js +5 -0
- package/dist/commonjs/helpers/client/http-client.js +1 -1
- package/dist/commonjs/helpers/client/safari-client.js +1 -1
- package/dist/commonjs/helpers/helpers.d.ts +20 -2
- package/dist/commonjs/helpers/helpers.js +40 -2
- package/dist/commonjs/helpers/ws.js +3 -9
- package/dist/commonjs/http-gateway/core.d.ts +76 -0
- package/dist/commonjs/http-gateway/core.js +254 -0
- package/dist/commonjs/http-gateway/download.d.ts +14 -0
- package/dist/commonjs/http-gateway/download.js +186 -0
- package/dist/commonjs/http-gateway/index.d.ts +11 -0
- package/dist/commonjs/http-gateway/index.js +11 -0
- package/dist/commonjs/http-gateway/models.d.ts +16 -0
- package/dist/commonjs/http-gateway/models.js +2 -0
- package/dist/commonjs/http-gateway/upload.d.ts +14 -0
- package/dist/commonjs/http-gateway/upload.js +124 -0
- package/dist/commonjs/index.d.ts +2 -2
- package/dist/commonjs/index.js +36 -9
- package/dist/commonjs/models/aspera-sdk.model.d.ts +60 -47
- package/dist/commonjs/models/aspera-sdk.model.js +84 -92
- package/dist/commonjs/models/models.d.ts +69 -3
- package/dist/js/aspera-sdk.js +1 -1
- package/dist/js/aspera-sdk.js.LICENSE.txt +9 -1
- package/dist/js/aspera-sdk.js.map +1 -1
- package/package.json +23 -27
- package/scripts/version.sh +24 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { httpDownload } from './download';
|
|
2
|
+
import { httpUpload } from './upload';
|
|
3
|
+
import { handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInputElement } from './core';
|
|
4
|
+
/**
|
|
5
|
+
* HTTP Gateway Exports
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Most logic is called directly by Desktop SDK functions
|
|
9
|
+
* You may not need to import anything from this file.
|
|
10
|
+
*/
|
|
11
|
+
export { httpUpload, httpDownload, handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInputElement, };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createHtmlInputElement = exports.httpGatewaySelectFileFolderDialog = exports.handleHttpGatewayDrop = exports.httpDownload = exports.httpUpload = void 0;
|
|
4
|
+
var download_1 = require("./download");
|
|
5
|
+
Object.defineProperty(exports, "httpDownload", { enumerable: true, get: function () { return download_1.httpDownload; } });
|
|
6
|
+
var upload_1 = require("./upload");
|
|
7
|
+
Object.defineProperty(exports, "httpUpload", { enumerable: true, get: function () { return upload_1.httpUpload; } });
|
|
8
|
+
var core_1 = require("./core");
|
|
9
|
+
Object.defineProperty(exports, "handleHttpGatewayDrop", { enumerable: true, get: function () { return core_1.handleHttpGatewayDrop; } });
|
|
10
|
+
Object.defineProperty(exports, "httpGatewaySelectFileFolderDialog", { enumerable: true, get: function () { return core_1.httpGatewaySelectFileFolderDialog; } });
|
|
11
|
+
Object.defineProperty(exports, "createHtmlInputElement", { enumerable: true, get: function () { return core_1.createHtmlInputElement; } });
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface HttpGatewayInfo {
|
|
2
|
+
version: string;
|
|
3
|
+
name: string;
|
|
4
|
+
upload_endpoint: string[];
|
|
5
|
+
download_endpoint: string[];
|
|
6
|
+
endpoints: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface HttpGatewayDownloadLegacy {
|
|
9
|
+
transfer_spec_id: string;
|
|
10
|
+
url: string;
|
|
11
|
+
}
|
|
12
|
+
export type HttpGatewayDownload = ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
13
|
+
export type HttpGatewayUpload = null;
|
|
14
|
+
export interface HttpGatewayPresign {
|
|
15
|
+
signed_url: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AsperaSdkSpec, AsperaSdkTransfer, TransferSpec } from '../models/models';
|
|
2
|
+
/**
|
|
3
|
+
* HTTP Gateway Upload Logic
|
|
4
|
+
*
|
|
5
|
+
* @param transferSpec - TransferSpec for the upload
|
|
6
|
+
* @param asperaSdkSpec IBM Aspera settings when starting a transfer.
|
|
7
|
+
*
|
|
8
|
+
* @returns Promise that resolves on success invoke or rejects if unable to start
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* Most logic is called directly by Desktop SDK functions
|
|
12
|
+
* You may not need to import anything from this file.
|
|
13
|
+
*/
|
|
14
|
+
export declare const httpUpload: (transferSpec: TransferSpec, asperaSdkSpec?: AsperaSdkSpec) => Promise<AsperaSdkTransfer>;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.httpUpload = void 0;
|
|
4
|
+
var index_1 = require("../index");
|
|
5
|
+
var helpers_1 = require("../helpers/helpers");
|
|
6
|
+
var messages_1 = require("../constants/messages");
|
|
7
|
+
var core_1 = require("./core");
|
|
8
|
+
var http_gateway_sdk_js_1 = require("@ibm-aspera/http-gateway-sdk-js");
|
|
9
|
+
/**
|
|
10
|
+
* HTTP Gateway Upload Logic
|
|
11
|
+
*
|
|
12
|
+
* @param transferSpec - TransferSpec for the upload
|
|
13
|
+
* @param asperaSdkSpec IBM Aspera settings when starting a transfer.
|
|
14
|
+
*
|
|
15
|
+
* @returns Promise that resolves on success invoke or rejects if unable to start
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* Most logic is called directly by Desktop SDK functions
|
|
19
|
+
* You may not need to import anything from this file.
|
|
20
|
+
*/
|
|
21
|
+
var httpUpload = function (transferSpec, asperaSdkSpec) {
|
|
22
|
+
if (!index_1.asperaSdk.httpGatewayIsReady) {
|
|
23
|
+
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified, { type: 'upload' });
|
|
24
|
+
}
|
|
25
|
+
if (index_1.asperaSdk.useOldHttpGateway) {
|
|
26
|
+
return (0, http_gateway_sdk_js_1.upload)(transferSpec, (asperaSdkSpec === null || asperaSdkSpec === void 0 ? void 0 : asperaSdkSpec.http_gateway_v2_transfer_id) || '');
|
|
27
|
+
}
|
|
28
|
+
var promiseInfo = (0, helpers_1.generatePromiseObjects)();
|
|
29
|
+
var request = new XMLHttpRequest();
|
|
30
|
+
var body = new FormData();
|
|
31
|
+
body.append('x-aspera-spec', (0, helpers_1.safeJsonString)(transferSpec));
|
|
32
|
+
var hasBadFile = [];
|
|
33
|
+
transferSpec.paths.forEach(function (path) {
|
|
34
|
+
var foundFile = index_1.asperaSdk.httpGatewaySelectedFiles.get(path.source);
|
|
35
|
+
if (foundFile) {
|
|
36
|
+
body.append('Content-Length', String(foundFile.size));
|
|
37
|
+
body.append('file', foundFile);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
hasBadFile.push(path.source);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
if (hasBadFile.length) {
|
|
44
|
+
return (0, helpers_1.throwError)(messages_1.messages.fileNotAllowed, { type: 'upload', invalidFiles: hasBadFile, transferSpec: transferSpec });
|
|
45
|
+
}
|
|
46
|
+
var transferObject = (0, core_1.getSdkTransfer)(transferSpec);
|
|
47
|
+
if (asperaSdkSpec === null || asperaSdkSpec === void 0 ? void 0 : asperaSdkSpec.http_gateway_authentication) {
|
|
48
|
+
request.setRequestHeader('Authorization', "Bearer ".concat(asperaSdkSpec.http_gateway_authentication.token));
|
|
49
|
+
request.setRequestHeader('X-Aspera-AccessKey', asperaSdkSpec.http_gateway_authentication.access_key);
|
|
50
|
+
}
|
|
51
|
+
request.open('POST', "".concat((asperaSdkSpec === null || asperaSdkSpec === void 0 ? void 0 : asperaSdkSpec.http_gateway_override_server_url) || index_1.asperaSdk.globals.httpGatewayUrl, "/upload"), true);
|
|
52
|
+
var triggerUpdate = function () {
|
|
53
|
+
(0, core_1.sendTransferUpdate)(transferObject);
|
|
54
|
+
};
|
|
55
|
+
var triggerFailed = function () {
|
|
56
|
+
var errorData = (0, core_1.getMessageFromError)(request.response);
|
|
57
|
+
transferObject.httpRequestId = request.getResponseHeader('X-Request-Id');
|
|
58
|
+
transferObject.status = 'failed';
|
|
59
|
+
transferObject.error_code = errorData.code;
|
|
60
|
+
transferObject.error_desc = errorData.message;
|
|
61
|
+
triggerUpdate();
|
|
62
|
+
};
|
|
63
|
+
request.upload.addEventListener('progress', function (event) {
|
|
64
|
+
if (transferObject.status === 'failed') {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
transferObject.status = 'running';
|
|
68
|
+
transferObject.elapsed_usec = (new Date().getTime() - new Date(transferObject.add_time).getTime()) * 1000;
|
|
69
|
+
if (event.lengthComputable) {
|
|
70
|
+
transferObject.bytes_expected = event.total;
|
|
71
|
+
transferObject.bytes_written = event.loaded;
|
|
72
|
+
transferObject.percentage = (event.loaded / event.total);
|
|
73
|
+
}
|
|
74
|
+
triggerUpdate();
|
|
75
|
+
});
|
|
76
|
+
request.addEventListener('load', function () {
|
|
77
|
+
transferObject.httpRequestId = request.getResponseHeader('X-Request-Id');
|
|
78
|
+
});
|
|
79
|
+
request.upload.addEventListener('load', function (event) {
|
|
80
|
+
if (transferObject.status === 'failed') {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
transferObject.status = 'completed';
|
|
84
|
+
transferObject.elapsed_usec = (new Date().getTime() - new Date(transferObject.add_time).getTime()) * 1000;
|
|
85
|
+
if (event.lengthComputable) {
|
|
86
|
+
transferObject.bytes_expected = event.total;
|
|
87
|
+
transferObject.bytes_written = event.loaded;
|
|
88
|
+
transferObject.percentage = (event.loaded / event.total);
|
|
89
|
+
}
|
|
90
|
+
triggerUpdate();
|
|
91
|
+
});
|
|
92
|
+
request.upload.addEventListener('loadstart', function () {
|
|
93
|
+
if (transferObject.status === 'failed') {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
transferObject.status = 'running';
|
|
97
|
+
promiseInfo.resolver(transferObject);
|
|
98
|
+
triggerUpdate();
|
|
99
|
+
});
|
|
100
|
+
request.addEventListener('readystatechange', function () {
|
|
101
|
+
if (request.status >= 400) {
|
|
102
|
+
triggerFailed();
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
request.upload.addEventListener('error', function (event) {
|
|
106
|
+
triggerFailed();
|
|
107
|
+
promiseInfo.rejecter(event);
|
|
108
|
+
});
|
|
109
|
+
request.upload.addEventListener('abort', function (event) {
|
|
110
|
+
triggerFailed();
|
|
111
|
+
promiseInfo.rejecter(event);
|
|
112
|
+
});
|
|
113
|
+
request.addEventListener('error', function (event) {
|
|
114
|
+
triggerFailed();
|
|
115
|
+
promiseInfo.rejecter(event);
|
|
116
|
+
});
|
|
117
|
+
request.addEventListener('abort', function (event) {
|
|
118
|
+
triggerFailed();
|
|
119
|
+
promiseInfo.rejecter(event);
|
|
120
|
+
});
|
|
121
|
+
request.send(body);
|
|
122
|
+
return promiseInfo.promise;
|
|
123
|
+
};
|
|
124
|
+
exports.httpUpload = httpUpload;
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AsperaSdk } from './models/aspera-sdk.model';
|
|
2
|
-
import { createDropzone, deregisterActivityCallback,
|
|
2
|
+
import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, initDragDrop, modifyTransfer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
|
|
3
3
|
import { getInstallerInfo } from './app/installer';
|
|
4
4
|
import { getInstallerUrls, isSafari } from './helpers/helpers';
|
|
5
5
|
export declare const asperaSdk: AsperaSdk;
|
|
6
6
|
declare const launch: () => void;
|
|
7
|
-
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer,
|
|
7
|
+
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, getInstallerUrls, };
|
|
8
8
|
export default asperaSdk;
|
package/dist/commonjs/index.js
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.
|
|
36
|
+
exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
|
|
4
37
|
var aspera_sdk_model_1 = require("./models/aspera-sdk.model");
|
|
5
38
|
var core_1 = require("./app/core");
|
|
6
39
|
Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
|
|
7
40
|
Object.defineProperty(exports, "deregisterActivityCallback", { enumerable: true, get: function () { return core_1.deregisterActivityCallback; } });
|
|
8
|
-
Object.defineProperty(exports, "deregisterRemovedCallback", { enumerable: true, get: function () { return core_1.deregisterRemovedCallback; } });
|
|
9
|
-
Object.defineProperty(exports, "deregisterSafariExtensionStatusCallback", { enumerable: true, get: function () { return core_1.deregisterSafariExtensionStatusCallback; } });
|
|
10
41
|
Object.defineProperty(exports, "deregisterStatusCallback", { enumerable: true, get: function () { return core_1.deregisterStatusCallback; } });
|
|
11
42
|
Object.defineProperty(exports, "getAllTransfers", { enumerable: true, get: function () { return core_1.getAllTransfers; } });
|
|
12
43
|
Object.defineProperty(exports, "getInfo", { enumerable: true, get: function () { return core_1.getInfo; } });
|
|
@@ -15,8 +46,6 @@ Object.defineProperty(exports, "init", { enumerable: true, get: function () { re
|
|
|
15
46
|
Object.defineProperty(exports, "initDragDrop", { enumerable: true, get: function () { return core_1.initDragDrop; } });
|
|
16
47
|
Object.defineProperty(exports, "modifyTransfer", { enumerable: true, get: function () { return core_1.modifyTransfer; } });
|
|
17
48
|
Object.defineProperty(exports, "registerActivityCallback", { enumerable: true, get: function () { return core_1.registerActivityCallback; } });
|
|
18
|
-
Object.defineProperty(exports, "registerRemovedCallback", { enumerable: true, get: function () { return core_1.registerRemovedCallback; } });
|
|
19
|
-
Object.defineProperty(exports, "registerSafariExtensionStatusCallback", { enumerable: true, get: function () { return core_1.registerSafariExtensionStatusCallback; } });
|
|
20
49
|
Object.defineProperty(exports, "registerStatusCallback", { enumerable: true, get: function () { return core_1.registerStatusCallback; } });
|
|
21
50
|
Object.defineProperty(exports, "removeDropzone", { enumerable: true, get: function () { return core_1.removeDropzone; } });
|
|
22
51
|
Object.defineProperty(exports, "removeTransfer", { enumerable: true, get: function () { return core_1.removeTransfer; } });
|
|
@@ -34,6 +63,7 @@ Object.defineProperty(exports, "getInstallerInfo", { enumerable: true, get: func
|
|
|
34
63
|
var helpers_1 = require("./helpers/helpers");
|
|
35
64
|
Object.defineProperty(exports, "getInstallerUrls", { enumerable: true, get: function () { return helpers_1.getInstallerUrls; } });
|
|
36
65
|
Object.defineProperty(exports, "isSafari", { enumerable: true, get: function () { return helpers_1.isSafari; } });
|
|
66
|
+
var httpGatewayCalls = __importStar(require("./http-gateway"));
|
|
37
67
|
exports.asperaSdk = new aspera_sdk_model_1.AsperaSdk();
|
|
38
68
|
exports.asperaSdk.init = core_1.init;
|
|
39
69
|
exports.asperaSdk.testConnection = core_1.testConnection;
|
|
@@ -46,8 +76,6 @@ exports.asperaSdk.stopTransfer = core_1.stopTransfer;
|
|
|
46
76
|
exports.asperaSdk.resumeTransfer = core_1.resumeTransfer;
|
|
47
77
|
exports.asperaSdk.getAllTransfers = core_1.getAllTransfers;
|
|
48
78
|
exports.asperaSdk.getTransfer = core_1.getTransfer;
|
|
49
|
-
exports.asperaSdk.registerRemovedCallback = core_1.registerRemovedCallback;
|
|
50
|
-
exports.asperaSdk.deregisterRemovedCallback = core_1.deregisterRemovedCallback;
|
|
51
79
|
exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
|
|
52
80
|
exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
|
|
53
81
|
exports.asperaSdk.showPreferences = core_1.showPreferences;
|
|
@@ -57,13 +85,12 @@ exports.asperaSdk.removeDropzone = core_1.removeDropzone;
|
|
|
57
85
|
exports.asperaSdk.getInstallerInfo = installer_1.getInstallerInfo;
|
|
58
86
|
exports.asperaSdk.registerStatusCallback = core_1.registerStatusCallback;
|
|
59
87
|
exports.asperaSdk.deregisterStatusCallback = core_1.deregisterStatusCallback;
|
|
60
|
-
exports.asperaSdk.registerSafariExtensionStatusCallback = core_1.registerSafariExtensionStatusCallback;
|
|
61
|
-
exports.asperaSdk.deregisterSafariExtensionStatusCallback = core_1.deregisterSafariExtensionStatusCallback;
|
|
62
88
|
exports.asperaSdk.initDragDrop = core_1.initDragDrop;
|
|
63
89
|
exports.asperaSdk.setBranding = core_1.setBranding;
|
|
64
90
|
exports.asperaSdk.getInfo = core_1.getInfo;
|
|
65
91
|
exports.asperaSdk.isSafari = helpers_1.isSafari;
|
|
66
92
|
exports.asperaSdk.getInstallerUrls = helpers_1.getInstallerUrls;
|
|
93
|
+
exports.asperaSdk.httpGatewayCalls = httpGatewayCalls;
|
|
67
94
|
var launch = exports.asperaSdk.globals.launch;
|
|
68
95
|
exports.launch = launch;
|
|
69
96
|
exports.asperaSdk.launch = launch;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo } from './models';
|
|
2
|
+
import { HttpGatewayInfo } from '../http-gateway/models';
|
|
3
|
+
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
4
|
+
import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
|
|
2
5
|
declare class AsperaSdkGlobals {
|
|
3
6
|
/** The URL of the IBM Aspera HTTP server to use with the SDK */
|
|
4
7
|
asperaAppUrl: string;
|
|
@@ -7,8 +10,8 @@ declare class AsperaSdkGlobals {
|
|
|
7
10
|
/** The default URL to check for latest Aspera installers */
|
|
8
11
|
installerUrl: string;
|
|
9
12
|
/** Aspera SDK info */
|
|
10
|
-
|
|
11
|
-
/**
|
|
13
|
+
asperaSdkInfo: AsperaSdkClientInfo;
|
|
14
|
+
/** Indicate that the server has been verified as working */
|
|
12
15
|
asperaAppVerified: boolean;
|
|
13
16
|
/** The unique ID for the website */
|
|
14
17
|
appId: string;
|
|
@@ -21,42 +24,68 @@ declare class AsperaSdkGlobals {
|
|
|
21
24
|
event: string;
|
|
22
25
|
callback: (event: any) => void;
|
|
23
26
|
}[]>;
|
|
27
|
+
/** HTTP Gateway URL after successful passing */
|
|
28
|
+
httpGatewayUrl?: string;
|
|
29
|
+
/** Indicate that the HTTP Gateway has been verified as working */
|
|
30
|
+
httpGatewayVerified: boolean;
|
|
31
|
+
/** HTTP Gateway info */
|
|
32
|
+
httpGatewayInfo?: HttpGatewayInfo;
|
|
33
|
+
/** Http Gateway IFRAME container */
|
|
34
|
+
httpGatewayIframeContainer?: HTMLDivElement;
|
|
35
|
+
/** Connect raw AW4 objects */
|
|
36
|
+
connectAW4?: {
|
|
37
|
+
Connect: typeof Connect;
|
|
38
|
+
ConnectInstaller: typeof ConnectInstaller;
|
|
39
|
+
};
|
|
40
|
+
/** Connect instance */
|
|
41
|
+
connect?: ConnectTypes.ConnectClientType;
|
|
42
|
+
/** Connect installer instance */
|
|
43
|
+
connectInstaller?: ConnectTypes.ConnectInstallerClientType;
|
|
44
|
+
/** Connect status */
|
|
45
|
+
connectStatus: ConnectTypes.ConnectStatusStrings;
|
|
24
46
|
backupLaunchMethod(url: string): void;
|
|
25
47
|
/**
|
|
26
48
|
* Launch the IBM Aspera App via protocol url. By default, a hidden IFRAME attempts to
|
|
27
49
|
* open the app but if that fails a fallback of opening a new window happens.
|
|
28
50
|
*/
|
|
29
51
|
launch(): void;
|
|
52
|
+
get sdkResponseData(): AsperaSdkInfo;
|
|
30
53
|
}
|
|
31
|
-
export
|
|
54
|
+
export interface AsperaSdkClientInfo {
|
|
32
55
|
/** The version of IBM Aspera SDK */
|
|
33
56
|
version: string;
|
|
34
57
|
/** The public key corresponding to the SSH private key generated by IBM Aspera */
|
|
35
58
|
client_pubkey?: string;
|
|
36
59
|
}
|
|
37
|
-
export
|
|
60
|
+
export type AsperaSdkInfo = AsperaSdkClientInfo & {
|
|
61
|
+
verified: boolean;
|
|
62
|
+
httpGateway: {
|
|
63
|
+
verified: boolean;
|
|
64
|
+
url?: string;
|
|
65
|
+
info?: HttpGatewayInfo;
|
|
66
|
+
};
|
|
67
|
+
connect: {
|
|
68
|
+
active: boolean;
|
|
69
|
+
status: ConnectTypes.ConnectStatusStrings;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export interface TransferResponse {
|
|
38
73
|
transfers: AsperaSdkTransfer[];
|
|
39
74
|
}
|
|
40
75
|
export type ActivityMessageTypes = 'transferUpdated' | 'transferRemoved';
|
|
41
|
-
export
|
|
76
|
+
export interface ActivityMessage {
|
|
42
77
|
type: ActivityMessageTypes;
|
|
43
78
|
data: unknown;
|
|
44
79
|
}
|
|
45
80
|
export declare class ActivityTracking {
|
|
46
81
|
/** Map of callbacks that receive transfer update events */
|
|
47
82
|
private activity_callbacks;
|
|
48
|
-
/** Map of callbacks that received removed transfer events */
|
|
49
|
-
private removed_callbacks;
|
|
50
83
|
/** Map of callbacks that receive connection events */
|
|
51
84
|
private event_callbacks;
|
|
52
|
-
/** Map of callbacks that receive Safari extension events */
|
|
53
|
-
private safari_extension_callbacks;
|
|
54
85
|
/** Keep track of the last WebSocket event **/
|
|
55
86
|
private lastWebSocketEvent;
|
|
56
87
|
/** Keep track of the last notified WebSocket event **/
|
|
57
88
|
private lastNotifiedWebSocketEvent;
|
|
58
|
-
/** Keep track of the last Safari extension event **/
|
|
59
|
-
private lastSafariExtensionEvent;
|
|
60
89
|
/**
|
|
61
90
|
* Notify all consumers when a message is received from the websocket
|
|
62
91
|
*
|
|
@@ -76,6 +105,8 @@ export declare class ActivityTracking {
|
|
|
76
105
|
* @param webSocketEvent the event type.
|
|
77
106
|
*/
|
|
78
107
|
private notifyWebSocketEvent;
|
|
108
|
+
/** Trigger manual event for other event types. */
|
|
109
|
+
sendManualEventCallback(status: string): void;
|
|
79
110
|
/**
|
|
80
111
|
* Notify all consumers when the client changes status. For example, when
|
|
81
112
|
* IBM Aspera App is launched or closed.
|
|
@@ -110,20 +141,6 @@ export declare class ActivityTracking {
|
|
|
110
141
|
* @param id the string of the callback to remove
|
|
111
142
|
*/
|
|
112
143
|
removeCallback(id: string): void;
|
|
113
|
-
/**
|
|
114
|
-
* Register a callback for getting transfers back to the consumer
|
|
115
|
-
*
|
|
116
|
-
* @param callback the function to call with the array of transfers
|
|
117
|
-
*
|
|
118
|
-
* @returns the ID of the callback index
|
|
119
|
-
*/
|
|
120
|
-
setRemovedCallback(callback: (transfer: AsperaSdkTransfer) => void): string;
|
|
121
|
-
/**
|
|
122
|
-
* Remove the callback (deregister) from the list of callbacks
|
|
123
|
-
*
|
|
124
|
-
* @param id the string of the callback to remove
|
|
125
|
-
*/
|
|
126
|
-
removeRemovedCallback(id: string): void;
|
|
127
144
|
/**
|
|
128
145
|
* Register a callback for getting websocket events back to the consumer
|
|
129
146
|
*
|
|
@@ -138,20 +155,6 @@ export declare class ActivityTracking {
|
|
|
138
155
|
* @param id the string of the callback to remove
|
|
139
156
|
*/
|
|
140
157
|
removeWebSocketEventCallback(id: string): void;
|
|
141
|
-
/**
|
|
142
|
-
* Register a callback for getting Safari extension events back to the consumer
|
|
143
|
-
*
|
|
144
|
-
* @param callback the function to call with the websocket event
|
|
145
|
-
*
|
|
146
|
-
* @returns the ID of the callback index
|
|
147
|
-
*/
|
|
148
|
-
setSafariExtensionEventCallback(callback: (status: SafariExtensionEvent) => void): string;
|
|
149
|
-
/**
|
|
150
|
-
* Remove the callback (deregister) from the list of callbacks
|
|
151
|
-
*
|
|
152
|
-
* @param id the string of the callback to remove
|
|
153
|
-
*/
|
|
154
|
-
removeSafariExtensionEventCallback(id: string): void;
|
|
155
158
|
private registerDesktopAppSession;
|
|
156
159
|
}
|
|
157
160
|
export declare class AsperaSdk {
|
|
@@ -159,6 +162,8 @@ export declare class AsperaSdk {
|
|
|
159
162
|
globals: AsperaSdkGlobals;
|
|
160
163
|
/** Activity tracking for watching transfers */
|
|
161
164
|
activityTracking: ActivityTracking;
|
|
165
|
+
/** HTTP Gateway file store. Key is the file name. */
|
|
166
|
+
httpGatewaySelectedFiles: Map<string, File>;
|
|
162
167
|
/** Function to initialize IBM Aspera */
|
|
163
168
|
init: (options: InitOptions) => Promise<any>;
|
|
164
169
|
/** Function to test the IBM Aspera status */
|
|
@@ -171,18 +176,10 @@ export declare class AsperaSdk {
|
|
|
171
176
|
registerActivityCallback: (callback: (transfers: TransferResponse) => void) => string;
|
|
172
177
|
/** Deregister callback to remove it from the callbacks getting transfer data */
|
|
173
178
|
deregisterActivityCallback: (id: string) => void;
|
|
174
|
-
/** Register callback for removed transfers from the app */
|
|
175
|
-
registerRemovedCallback: (callback: (transfer: AsperaSdkTransfer) => void) => string;
|
|
176
|
-
/** Deregister callback to remove it from the callbacks getting removed transfer data */
|
|
177
|
-
deregisterRemovedCallback: (id: string) => void;
|
|
178
179
|
/** Register callback for connection status events from the app */
|
|
179
180
|
registerStatusCallback: (callback: (status: WebsocketEvent) => void) => string;
|
|
180
181
|
/** Deregister callback to remove it from the callbacks getting connection events */
|
|
181
182
|
deregisterStatusCallback: (id: string) => void;
|
|
182
|
-
/** Register callback for Safari extension status events */
|
|
183
|
-
registerSafariExtensionStatusCallback: (callback: (status: SafariExtensionEvent) => void) => string;
|
|
184
|
-
/** Deregister callback to remove it from the callbacks getting Safari extension events */
|
|
185
|
-
deregisterSafariExtensionStatusCallback: (id: string) => void;
|
|
186
183
|
/** Function to remove a transfer */
|
|
187
184
|
removeTransfer: (transferId: string) => Promise<any>;
|
|
188
185
|
/** Function to show the transfer's download directory in Finder or Windows Explorer */
|
|
@@ -222,11 +219,27 @@ export declare class AsperaSdk {
|
|
|
222
219
|
isSafari: () => boolean;
|
|
223
220
|
/** Function to get URLs for installer management. */
|
|
224
221
|
getInstallerUrls: () => InstallerUrlInfo;
|
|
222
|
+
/** Indicate if Safari Extension is enabled. If the extension is disabled during the lifecycle this will not update to disabled. */
|
|
223
|
+
SAFARI_EXTENSION_STATUS: SafariExtensionEvent;
|
|
224
|
+
/** Aspera HTTP Gateway calls. This normally is not needed by clients but expose just in case. */
|
|
225
|
+
httpGatewayCalls: unknown;
|
|
226
|
+
/** Store of HTTP Gateway transfers */
|
|
227
|
+
httpGatewayTransferStore: Map<string, AsperaSdkTransfer>;
|
|
228
|
+
/** HTTP Gateway in app threshold limit. This can be changed globally for the app. */
|
|
229
|
+
httpGatewayInBrowserDownloadThreshold: number;
|
|
225
230
|
/**
|
|
226
231
|
* Check if IBM Aspera is ready to be used and has been verified.
|
|
227
232
|
*
|
|
228
233
|
* @returns a boolean indicating if SDK can be used for requests
|
|
229
234
|
*/
|
|
230
235
|
get isReady(): boolean;
|
|
236
|
+
/** Indicate that Connect is available. */
|
|
237
|
+
get useConnect(): boolean;
|
|
238
|
+
/** Indicate that HTTP Gateway is available. */
|
|
239
|
+
get httpGatewayIsReady(): boolean;
|
|
240
|
+
/** Indicates if internal calls should use Gateway */
|
|
241
|
+
get useHttpGateway(): boolean;
|
|
242
|
+
/** Indicates if old HTTP Gateway SDK should be used (v2 and lower) */
|
|
243
|
+
get useOldHttpGateway(): boolean;
|
|
231
244
|
}
|
|
232
245
|
export {};
|