@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.
Files changed (34) hide show
  1. package/.whitesource +3 -0
  2. package/README.md +1 -1
  3. package/dist/commonjs/app/core.d.ts +8 -37
  4. package/dist/commonjs/app/core.js +198 -70
  5. package/dist/commonjs/connect/core.d.ts +11 -0
  6. package/dist/commonjs/connect/core.js +73 -0
  7. package/dist/commonjs/constants/constants.d.ts +1 -1
  8. package/dist/commonjs/constants/messages.d.ts +5 -0
  9. package/dist/commonjs/constants/messages.js +5 -0
  10. package/dist/commonjs/helpers/client/http-client.js +1 -1
  11. package/dist/commonjs/helpers/client/safari-client.js +1 -1
  12. package/dist/commonjs/helpers/helpers.d.ts +20 -2
  13. package/dist/commonjs/helpers/helpers.js +40 -2
  14. package/dist/commonjs/helpers/ws.js +3 -9
  15. package/dist/commonjs/http-gateway/core.d.ts +76 -0
  16. package/dist/commonjs/http-gateway/core.js +254 -0
  17. package/dist/commonjs/http-gateway/download.d.ts +14 -0
  18. package/dist/commonjs/http-gateway/download.js +186 -0
  19. package/dist/commonjs/http-gateway/index.d.ts +11 -0
  20. package/dist/commonjs/http-gateway/index.js +11 -0
  21. package/dist/commonjs/http-gateway/models.d.ts +16 -0
  22. package/dist/commonjs/http-gateway/models.js +2 -0
  23. package/dist/commonjs/http-gateway/upload.d.ts +14 -0
  24. package/dist/commonjs/http-gateway/upload.js +124 -0
  25. package/dist/commonjs/index.d.ts +2 -2
  26. package/dist/commonjs/index.js +36 -9
  27. package/dist/commonjs/models/aspera-sdk.model.d.ts +60 -47
  28. package/dist/commonjs/models/aspera-sdk.model.js +84 -92
  29. package/dist/commonjs/models/models.d.ts +69 -3
  30. package/dist/js/aspera-sdk.js +1 -1
  31. package/dist/js/aspera-sdk.js.LICENSE.txt +9 -1
  32. package/dist/js/aspera-sdk.js.map +1 -1
  33. package/package.json +23 -27
  34. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;
@@ -1,8 +1,8 @@
1
1
  import { AsperaSdk } from './models/aspera-sdk.model';
2
- import { createDropzone, deregisterActivityCallback, deregisterRemovedCallback, deregisterSafariExtensionStatusCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, initDragDrop, modifyTransfer, registerActivityCallback, registerRemovedCallback, registerSafariExtensionStatusCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
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, registerRemovedCallback, deregisterRemovedCallback, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, registerSafariExtensionStatusCallback, deregisterSafariExtensionStatusCallback, setBranding, getInfo, getInstallerUrls, };
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;
@@ -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.deregisterSafariExtensionStatusCallback = exports.registerSafariExtensionStatusCallback = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.deregisterRemovedCallback = exports.registerRemovedCallback = 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;
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
- AsperaSdkInfo: AsperaSdkInfo;
11
- /** Indication that the server has been verified as working */
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 declare class AsperaSdkInfo {
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 declare class TransferResponse {
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 declare class ActivityMessage {
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 {};