node-opcua-server 2.105.1 → 2.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,9 +20,6 @@ import * as utils from "node-opcua-utils";
20
20
 
21
21
  import {
22
22
  AddressSpace,
23
- callMethodHelper,
24
- ContinuationPoint,
25
- IUserManager,
26
23
  PseudoVariantBoolean,
27
24
  PseudoVariantByteString,
28
25
  PseudoVariantDateTime,
@@ -1051,7 +1048,7 @@ export class OPCUAServer extends OPCUABaseServer {
1051
1048
  * the maximum number of subscription that can be created per server
1052
1049
  * @deprecated
1053
1050
  */
1054
- public static deprectated_MAX_SUBSCRIPTION = 50;
1051
+ public static deprecated_MAX_SUBSCRIPTION = 50;
1055
1052
 
1056
1053
  /**
1057
1054
  * the maximum number of concurrent sessions allowed on the server
@@ -1156,7 +1153,7 @@ export class OPCUAServer extends OPCUABaseServer {
1156
1153
  const hostname = getFullyQualifiedDomainName();
1157
1154
 
1158
1155
  endpointDefinitions.push({
1159
- port: options.port === undefined ? 26543 : options.port,
1156
+ port: options.port === undefined ? 26543 : options.port,
1160
1157
 
1161
1158
  allowAnonymous: options.allowAnonymous,
1162
1159
  alternateHostname: options.alternateHostname,
@@ -1328,7 +1325,7 @@ export class OPCUAServer extends OPCUABaseServer {
1328
1325
  const shutdownTime = new Date(Date.now() + timeout);
1329
1326
  this.engine.setShutdownTime(shutdownTime);
1330
1327
 
1331
- debugLog("OPCUAServer is now unregistering itself from the discovery server " + this.buildInfo);
1328
+ debugLog("OPCUAServer is now un-registering itself from the discovery server " + this.buildInfo);
1332
1329
  this.registerServerManager!.stop((err?: Error | null) => {
1333
1330
  debugLog("OPCUAServer unregistered from discovery server", err);
1334
1331
  setTimeout(async () => {
@@ -2630,10 +2627,6 @@ export class OPCUAServer extends OPCUABaseServer {
2630
2627
  (session: ServerSession, sendResponse: (response: Response) => void, sendError: (statusCode: StatusCode) => void) => {
2631
2628
  const context = session.sessionContext;
2632
2629
 
2633
- let response;
2634
-
2635
- let results = [];
2636
-
2637
2630
  const timestampsToReturn = request.timestampsToReturn;
2638
2631
 
2639
2632
  if (timestampsToReturn === TimestampsToReturn.Invalid) {
@@ -2666,20 +2659,20 @@ export class OPCUAServer extends OPCUABaseServer {
2666
2659
 
2667
2660
  // ask for a refresh of asynchronous variables
2668
2661
  this.engine.refreshValues(request.nodesToRead, request.maxAge, (err?: Error | null) => {
2669
- assert(!err, " error not handled here , fix me");
2670
- results = this.engine.read(context, request);
2671
-
2672
- assert(results[0].schema.name === "DataValue");
2673
- assert(results.length === request.nodesToRead!.length);
2662
+
2663
+ this.engine.read(context, request).then((results) => {
2664
+ assert(results[0].schema.name === "DataValue");
2665
+ assert(results.length === request.nodesToRead!.length);
2674
2666
 
2675
- response = new ReadResponse({
2676
- diagnosticInfos: undefined,
2677
- results: undefined
2667
+ const response = new ReadResponse({
2668
+ diagnosticInfos: undefined,
2669
+ results: undefined
2670
+ });
2671
+ // set it here for performance
2672
+ response.results = results;
2673
+ assert(response.diagnosticInfos!.length === 0);
2674
+ sendResponse(response);
2678
2675
  });
2679
- // set it here for performance
2680
- response.results = results;
2681
- assert(response.diagnosticInfos!.length === 0);
2682
- sendResponse(response);
2683
2676
  });
2684
2677
  }
2685
2678
  );
@@ -2736,25 +2729,23 @@ export class OPCUAServer extends OPCUABaseServer {
2736
2729
  this.engine.refreshValues(request.nodesToRead, 0, (err?: Error | null) => {
2737
2730
  assert(!err, " error not handled here , fix me"); // TODO
2738
2731
 
2739
- this.engine.historyRead(context, request, (err1: Error | null, results?: HistoryReadResult[]) => {
2740
- if (err1) {
2741
- return sendError(StatusCodes.BadHistoryOperationInvalid);
2742
- }
2743
- if (!results) {
2732
+ this.engine
2733
+ .historyRead(context, request)
2734
+ .then((results: HistoryReadResult[]) => {
2735
+ assert(results[0].schema.name === "HistoryReadResult");
2736
+ assert(results.length === request.nodesToRead!.length);
2737
+
2738
+ response = new HistoryReadResponse({
2739
+ diagnosticInfos: undefined,
2740
+ results
2741
+ });
2742
+
2743
+ assert(response.diagnosticInfos!.length === 0);
2744
+ sendResponse(response);
2745
+ })
2746
+ .catch((err) => {
2744
2747
  return sendError(StatusCodes.BadHistoryOperationInvalid);
2745
- }
2746
-
2747
- assert(results[0].schema.name === "HistoryReadResult");
2748
- assert(results.length === request.nodesToRead!.length);
2749
-
2750
- response = new HistoryReadResponse({
2751
- diagnosticInfos: undefined,
2752
- results
2753
2748
  });
2754
-
2755
- assert(response.diagnosticInfos!.length === 0);
2756
- sendResponse(response);
2757
- });
2758
2749
  });
2759
2750
  }
2760
2751
  );
@@ -2804,19 +2795,21 @@ export class OPCUAServer extends OPCUABaseServer {
2804
2795
  const context = session.sessionContext;
2805
2796
 
2806
2797
  assert(request.nodesToWrite[0].schema.name === "WriteValue");
2807
- this.engine.write(context, request.nodesToWrite, (err: Error | null, results?: StatusCode[]) => {
2808
- if (err) {
2798
+
2799
+ this.engine
2800
+ .write(context, request.nodesToWrite)
2801
+ .then((results: StatusCode[]) => {
2802
+ assert(results!.length === request.nodesToWrite!.length);
2803
+ response = new WriteResponse({
2804
+ diagnosticInfos: undefined,
2805
+ results
2806
+ });
2807
+ sendResponse(response);
2808
+ })
2809
+ .catch((err) => {
2809
2810
  errorLog(err);
2810
- return sendError(StatusCodes.BadInternalError);
2811
- }
2812
- assert(Array.isArray(results));
2813
- assert(results!.length === request.nodesToWrite!.length);
2814
- response = new WriteResponse({
2815
- diagnosticInfos: undefined,
2816
- results
2811
+ sendError(StatusCodes.BadInternalError);
2817
2812
  });
2818
- sendResponse(response);
2819
- });
2820
2813
  }
2821
2814
  );
2822
2815
  }
@@ -3326,14 +3319,18 @@ export class OPCUAServer extends OPCUABaseServer {
3326
3319
  }
3327
3320
  }
3328
3321
 
3329
- const browsePathsResults = request.browsePaths.map((browsePath) => this.engine.browsePath(browsePath));
3330
-
3331
- const response = new TranslateBrowsePathsToNodeIdsResponse({
3332
- diagnosticInfos: null,
3333
- results: browsePathsResults
3334
- });
3335
-
3336
- sendResponse(response);
3322
+ this.engine
3323
+ .translateBrowsePaths(request.browsePaths)
3324
+ .then((browsePathsResults) => {
3325
+ const response = new TranslateBrowsePathsToNodeIdsResponse({
3326
+ diagnosticInfos: null,
3327
+ results: browsePathsResults
3328
+ });
3329
+ sendResponse(response);
3330
+ })
3331
+ .catch((err) => {
3332
+ sendError(StatusCodes.BadInternalError);
3333
+ });
3337
3334
  }
3338
3335
  );
3339
3336
  }
@@ -3366,27 +3363,17 @@ export class OPCUAServer extends OPCUABaseServer {
3366
3363
  return sendError(StatusCodes.BadTooManyOperations);
3367
3364
  }
3368
3365
 
3369
- /* jshint validthis: true */
3370
- const addressSpace = this.engine.addressSpace!;
3371
-
3372
3366
  const context = session.sessionContext;
3373
-
3374
- async.map(
3375
- request.methodsToCall,
3376
- callMethodHelper.bind(null, context, addressSpace),
3377
- (err?: Error | null, results?: (CallMethodResultOptions | undefined)[]) => {
3378
- /* istanbul ignore next */
3379
- if (err) {
3380
- errorLog("ERROR in method Call !! ", err);
3381
- }
3382
- assert(Array.isArray(results));
3383
- response = new CallResponse({
3384
- results: results as CallMethodResultOptions[]
3385
- });
3367
+ this.engine
3368
+ .call(context, request.methodsToCall)
3369
+ .then((results) => {
3370
+ const response = new CallResponse({ results });
3386
3371
  filterDiagnosticInfo(request.requestHeader.returnDiagnostics, response);
3387
3372
  sendResponse(response);
3388
- }
3389
- );
3373
+ })
3374
+ .catch((err) => {
3375
+ sendError(StatusCodes.BadInternalError);
3376
+ });
3390
3377
  }
3391
3378
  );
3392
3379
  }
@@ -3534,7 +3521,7 @@ export class OPCUAServer extends OPCUABaseServer {
3534
3521
  }
3535
3522
  const hostname = getFullyQualifiedDomainName();
3536
3523
  endpointOptions.hostname = endpointOptions.hostname || hostname;
3537
- endpointOptions.port = endpointOptions.port === undefined ? 26543 : endpointOptions.port ;
3524
+ endpointOptions.port = endpointOptions.port === undefined ? 26543 : endpointOptions.port;
3538
3525
 
3539
3526
  /* istanbul ignore next */
3540
3527
  if (
@@ -3697,7 +3684,7 @@ export interface RaiseEventAuditActivateSessionEventData extends RaiseEventAudit
3697
3684
  }
3698
3685
 
3699
3686
  // tslint:disable:no-empty-interface
3700
- export interface RaiseEventTransitionEventData extends RaiseEventData { }
3687
+ export interface RaiseEventTransitionEventData extends RaiseEventData {}
3701
3688
 
3702
3689
  export interface RaiseEventAuditUrlMismatchEventTypeData extends RaiseEventData {
3703
3690
  endpointUrl: PseudoVariantString;
@@ -3727,7 +3714,7 @@ export interface RaiseAuditCertificateDataMismatchEventData extends RaiseAuditCe
3727
3714
  */
3728
3715
  invalidUri: PseudoVariantString;
3729
3716
  }
3730
- export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData { }
3717
+ export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData {}
3731
3718
  /**
3732
3719
  * This EventType inherits all Properties of the AuditCertificateEventType.
3733
3720
  *
@@ -3739,7 +3726,7 @@ export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCerti
3739
3726
  * There are no additional Properties defined for this EventType.
3740
3727
  *
3741
3728
  */
3742
- export interface RaiseAuditCertificateExpiredEventData extends RaiseAuditCertificateEventData { }
3729
+ export interface RaiseAuditCertificateExpiredEventData extends RaiseAuditCertificateEventData {}
3743
3730
  /**
3744
3731
  * This EventType inherits all Properties of the AuditCertificateEventType.
3745
3732
  *
@@ -3749,7 +3736,7 @@ export interface RaiseAuditCertificateExpiredEventData extends RaiseAuditCertifi
3749
3736
  *
3750
3737
  * There are no additional Properties defined for this EventType.
3751
3738
  */
3752
- export interface RaiseAuditCertificateInvalidEventData extends RaiseAuditCertificateEventData { }
3739
+ export interface RaiseAuditCertificateInvalidEventData extends RaiseAuditCertificateEventData {}
3753
3740
  /**
3754
3741
  * This EventType inherits all Properties of the AuditCertificateEventType.
3755
3742
  *
@@ -3759,7 +3746,7 @@ export interface RaiseAuditCertificateInvalidEventData extends RaiseAuditCertifi
3759
3746
  * If a trust chain is involved then the certificate that failed in the trust chain should be described.
3760
3747
  * There are no additional Properties defined for this EventType.
3761
3748
  */
3762
- export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData { }
3749
+ export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData {}
3763
3750
  /**
3764
3751
  * This EventType inherits all Properties of the AuditCertificateEventType.
3765
3752
  *
@@ -3782,7 +3769,7 @@ export interface RaiseAuditCertificateRevokedEventData extends RaiseAuditCertifi
3782
3769
  *
3783
3770
  * There are no additional Properties defined for this EventType
3784
3771
  */
3785
- export interface RaiseAuditCertificateMismatchEventData extends RaiseAuditCertificateEventData { }
3772
+ export interface RaiseAuditCertificateMismatchEventData extends RaiseAuditCertificateEventData {}
3786
3773
  export interface OPCUAServer {
3787
3774
  /**
3788
3775
  * @internal
@@ -10,7 +10,6 @@ import { assert } from "node-opcua-assert";
10
10
  import { ErrorCallback, UAString } from "node-opcua-basic-types";
11
11
  import {
12
12
  coerceLocalizedText,
13
- LocalizedTextLike,
14
13
  LocalizedTextOptions,
15
14
  OPCUAClientBase,
16
15
  OPCUAClientBaseOptions,