@nocobase/plugin-verification 1.5.0-alpha.1 → 1.5.0-alpha.3

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 (18) hide show
  1. package/dist/externalVersion.js +6 -6
  2. package/dist/node_modules/@alicloud/dysmsapi20170525/dist/client.js +2 -2
  3. package/dist/node_modules/@alicloud/dysmsapi20170525/package.json +1 -1
  4. package/dist/node_modules/@alicloud/openapi-client/dist/client.d.ts +44 -0
  5. package/dist/node_modules/@alicloud/openapi-client/dist/client.js +2 -1
  6. package/dist/node_modules/@alicloud/openapi-client/package.json +1 -1
  7. package/dist/node_modules/@alicloud/openapi-client/src/client.ts +429 -51
  8. package/dist/node_modules/@alicloud/tea-util/package.json +1 -1
  9. package/dist/node_modules/tencentcloud-sdk-nodejs/package.json +1 -1
  10. package/package.json +3 -3
  11. package/dist/node_modules/@alicloud/dysmsapi20170525/node_modules/@alicloud/openapi-client/dist/client.d.ts +0 -291
  12. package/dist/node_modules/@alicloud/dysmsapi20170525/node_modules/@alicloud/openapi-client/dist/client.js +0 -1192
  13. package/dist/node_modules/@alicloud/dysmsapi20170525/node_modules/@alicloud/openapi-client/package.json +0 -37
  14. package/dist/node_modules/@alicloud/dysmsapi20170525/node_modules/@alicloud/openapi-client/src/client.ts +0 -1389
  15. /package/dist/node_modules/@alicloud/{dysmsapi20170525/node_modules/@alicloud/openapi-client → openapi-client}/node_modules/@alicloud/openapi-util/dist/client.d.ts +0 -0
  16. /package/dist/node_modules/@alicloud/{dysmsapi20170525/node_modules/@alicloud/openapi-client → openapi-client}/node_modules/@alicloud/openapi-util/dist/client.js +0 -0
  17. /package/dist/node_modules/@alicloud/{dysmsapi20170525/node_modules/@alicloud/openapi-client → openapi-client}/node_modules/@alicloud/openapi-util/package.json +0 -0
  18. /package/dist/node_modules/@alicloud/{dysmsapi20170525/node_modules/@alicloud/openapi-client → openapi-client}/node_modules/@alicloud/openapi-util/src/client.ts +0 -0
@@ -6,9 +6,32 @@ import Util, * as $Util from '@alicloud/tea-util';
6
6
  import Credential, * as $Credential from '@alicloud/credentials';
7
7
  import OpenApiUtil from '@alicloud/openapi-util';
8
8
  import SPI, * as $SPI from '@alicloud/gateway-spi';
9
+ import XML from '@alicloud/tea-xml';
9
10
  import { Readable } from 'stream';
10
11
  import * as $tea from '@alicloud/tea-typescript';
11
12
 
13
+ export class GlobalParameters extends $tea.Model {
14
+ headers?: { [key: string]: string };
15
+ queries?: { [key: string]: string };
16
+ static names(): { [key: string]: string } {
17
+ return {
18
+ headers: 'headers',
19
+ queries: 'queries',
20
+ };
21
+ }
22
+
23
+ static types(): { [key: string]: any } {
24
+ return {
25
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
26
+ queries: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
27
+ };
28
+ }
29
+
30
+ constructor(map?: { [key: string]: any }) {
31
+ super(map);
32
+ }
33
+ }
34
+
12
35
  /**
13
36
  * Model for initing client
14
37
  */
@@ -16,6 +39,7 @@ export class Config extends $tea.Model {
16
39
  accessKeyId?: string;
17
40
  accessKeySecret?: string;
18
41
  securityToken?: string;
42
+ bearerToken?: string;
19
43
  protocol?: string;
20
44
  method?: string;
21
45
  regionId?: string;
@@ -37,11 +61,17 @@ export class Config extends $tea.Model {
37
61
  type?: string;
38
62
  signatureVersion?: string;
39
63
  signatureAlgorithm?: string;
64
+ globalParameters?: GlobalParameters;
65
+ key?: string;
66
+ cert?: string;
67
+ ca?: string;
68
+ disableHttp2?: boolean;
40
69
  static names(): { [key: string]: string } {
41
70
  return {
42
71
  accessKeyId: 'accessKeyId',
43
72
  accessKeySecret: 'accessKeySecret',
44
73
  securityToken: 'securityToken',
74
+ bearerToken: 'bearerToken',
45
75
  protocol: 'protocol',
46
76
  method: 'method',
47
77
  regionId: 'regionId',
@@ -63,6 +93,11 @@ export class Config extends $tea.Model {
63
93
  type: 'type',
64
94
  signatureVersion: 'signatureVersion',
65
95
  signatureAlgorithm: 'signatureAlgorithm',
96
+ globalParameters: 'globalParameters',
97
+ key: 'key',
98
+ cert: 'cert',
99
+ ca: 'ca',
100
+ disableHttp2: 'disableHttp2',
66
101
  };
67
102
  }
68
103
 
@@ -71,6 +106,7 @@ export class Config extends $tea.Model {
71
106
  accessKeyId: 'string',
72
107
  accessKeySecret: 'string',
73
108
  securityToken: 'string',
109
+ bearerToken: 'string',
74
110
  protocol: 'string',
75
111
  method: 'string',
76
112
  regionId: 'string',
@@ -92,6 +128,11 @@ export class Config extends $tea.Model {
92
128
  type: 'string',
93
129
  signatureVersion: 'string',
94
130
  signatureAlgorithm: 'string',
131
+ globalParameters: GlobalParameters,
132
+ key: 'string',
133
+ cert: 'string',
134
+ ca: 'string',
135
+ disableHttp2: 'boolean',
95
136
  };
96
137
  }
97
138
 
@@ -106,6 +147,7 @@ export class OpenApiRequest extends $tea.Model {
106
147
  body?: any;
107
148
  stream?: Readable;
108
149
  hostMap?: { [key: string]: string };
150
+ endpointOverride?: string;
109
151
  static names(): { [key: string]: string } {
110
152
  return {
111
153
  headers: 'headers',
@@ -113,6 +155,7 @@ export class OpenApiRequest extends $tea.Model {
113
155
  body: 'body',
114
156
  stream: 'stream',
115
157
  hostMap: 'hostMap',
158
+ endpointOverride: 'endpointOverride',
116
159
  };
117
160
  }
118
161
 
@@ -123,6 +166,7 @@ export class OpenApiRequest extends $tea.Model {
123
166
  body: 'any',
124
167
  stream: 'Readable',
125
168
  hostMap: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
169
+ endpointOverride: 'string',
126
170
  };
127
171
  }
128
172
 
@@ -201,13 +245,18 @@ export default class Client {
201
245
  _signatureAlgorithm: string;
202
246
  _headers: {[key: string ]: string};
203
247
  _spi: SPI;
248
+ _globalParameters: GlobalParameters;
249
+ _key: string;
250
+ _cert: string;
251
+ _ca: string;
252
+ _disableHttp2: boolean;
204
253
 
205
254
  /**
206
255
  * Init client with Config
207
256
  * @param config config contains the necessary information to create a client
208
257
  */
209
258
  constructor(config: Config) {
210
- if (Util.isUnset($tea.toMap(config))) {
259
+ if (Util.isUnset(config)) {
211
260
  throw $tea.newError({
212
261
  code: "ParameterMissing",
213
262
  message: "'config' can not be unset",
@@ -225,9 +274,15 @@ export default class Client {
225
274
  accessKeyId: config.accessKeyId,
226
275
  type: config.type,
227
276
  accessKeySecret: config.accessKeySecret,
228
- securityToken: config.securityToken,
229
277
  });
278
+ credentialConfig.securityToken = config.securityToken;
230
279
  this._credential = new Credential(credentialConfig);
280
+ } else if (!Util.empty(config.bearerToken)) {
281
+ let cc = new $Credential.Config({
282
+ type: "bearer",
283
+ bearerToken: config.bearerToken,
284
+ });
285
+ this._credential = new Credential(cc);
231
286
  } else if (!Util.isUnset(config.credential)) {
232
287
  this._credential = config.credential;
233
288
  }
@@ -250,6 +305,11 @@ export default class Client {
250
305
  this._maxIdleConns = config.maxIdleConns;
251
306
  this._signatureVersion = config.signatureVersion;
252
307
  this._signatureAlgorithm = config.signatureAlgorithm;
308
+ this._globalParameters = config.globalParameters;
309
+ this._key = config.key;
310
+ this._cert = config.cert;
311
+ this._ca = config.ca;
312
+ this._disableHttp2 = config.disableHttp2;
253
313
  }
254
314
 
255
315
  /**
@@ -267,6 +327,9 @@ export default class Client {
267
327
  async doRPCRequest(action: string, version: string, protocol: string, method: string, authType: string, bodyType: string, request: OpenApiRequest, runtime: $Util.RuntimeOptions): Promise<{[key: string]: any}> {
268
328
  let _runtime: { [key: string]: any } = {
269
329
  timeouted: "retry",
330
+ key: Util.defaultString(runtime.key, this._key),
331
+ cert: Util.defaultString(runtime.cert, this._cert),
332
+ ca: Util.defaultString(runtime.ca, this._ca),
270
333
  readTimeout: Util.defaultNumber(runtime.readTimeout, this._readTimeout),
271
334
  connectTimeout: Util.defaultNumber(runtime.connectTimeout, this._connectTimeout),
272
335
  httpProxy: Util.defaultString(runtime.httpProxy, this._httpProxy),
@@ -303,12 +366,42 @@ export default class Client {
303
366
  request_.protocol = Util.defaultString(this._protocol, protocol);
304
367
  request_.method = method;
305
368
  request_.pathname = "/";
369
+ let globalQueries : {[key: string ]: string} = { };
370
+ let globalHeaders : {[key: string ]: string} = { };
371
+ if (!Util.isUnset(this._globalParameters)) {
372
+ let globalParams = this._globalParameters;
373
+ if (!Util.isUnset(globalParams.queries)) {
374
+ globalQueries = globalParams.queries;
375
+ }
376
+
377
+ if (!Util.isUnset(globalParams.headers)) {
378
+ globalHeaders = globalParams.headers;
379
+ }
380
+
381
+ }
382
+
383
+ let extendsHeaders : {[key: string ]: string} = { };
384
+ let extendsQueries : {[key: string ]: string} = { };
385
+ if (!Util.isUnset(runtime.extendsParameters)) {
386
+ let extendsParameters = runtime.extendsParameters;
387
+ if (!Util.isUnset(extendsParameters.headers)) {
388
+ extendsHeaders = extendsParameters.headers;
389
+ }
390
+
391
+ if (!Util.isUnset(extendsParameters.queries)) {
392
+ extendsQueries = extendsParameters.queries;
393
+ }
394
+
395
+ }
396
+
306
397
  request_.query = {
307
398
  Action: action,
308
399
  Format: "json",
309
400
  Version: version,
310
401
  Timestamp: OpenApiUtil.getTimestamp(),
311
402
  SignatureNonce: Util.getNonce(),
403
+ ...globalQueries,
404
+ ...extendsQueries,
312
405
  ...request.query,
313
406
  };
314
407
  let headers = this.getRpcHeaders();
@@ -319,6 +412,8 @@ export default class Client {
319
412
  'x-acs-version': version,
320
413
  'x-acs-action': action,
321
414
  'user-agent': this.getUserAgent(),
415
+ ...globalHeaders,
416
+ ...extendsHeaders,
322
417
  };
323
418
  } else {
324
419
  request_.headers = {
@@ -326,6 +421,8 @@ export default class Client {
326
421
  'x-acs-version': version,
327
422
  'x-acs-action': action,
328
423
  'user-agent': this.getUserAgent(),
424
+ ...globalHeaders,
425
+ ...extendsHeaders,
329
426
  ...headers,
330
427
  };
331
428
  }
@@ -338,26 +435,35 @@ export default class Client {
338
435
  }
339
436
 
340
437
  if (!Util.equalString(authType, "Anonymous")) {
341
- let accessKeyId = await this.getAccessKeyId();
342
- let accessKeySecret = await this.getAccessKeySecret();
343
- let securityToken = await this.getSecurityToken();
344
- if (!Util.empty(securityToken)) {
345
- request_.query["SecurityToken"] = securityToken;
346
- }
438
+ let credentialModel = await this._credential.getCredential();
439
+ let credentialType = credentialModel.type;
440
+ if (Util.equalString(credentialType, "bearer")) {
441
+ let bearerToken = credentialModel.bearerToken;
442
+ request_.query["BearerToken"] = bearerToken;
443
+ request_.query["SignatureType"] = "BEARERTOKEN";
444
+ } else {
445
+ let accessKeyId = credentialModel.accessKeyId;
446
+ let accessKeySecret = credentialModel.accessKeySecret;
447
+ let securityToken = credentialModel.securityToken;
448
+ if (!Util.empty(securityToken)) {
449
+ request_.query["SecurityToken"] = securityToken;
450
+ }
347
451
 
348
- request_.query["SignatureMethod"] = "HMAC-SHA1";
349
- request_.query["SignatureVersion"] = "1.0";
350
- request_.query["AccessKeyId"] = accessKeyId;
351
- let t : {[key: string ]: any} = null;
352
- if (!Util.isUnset(request.body)) {
353
- t = Util.assertAsMap(request.body);
452
+ request_.query["SignatureMethod"] = "HMAC-SHA1";
453
+ request_.query["SignatureVersion"] = "1.0";
454
+ request_.query["AccessKeyId"] = accessKeyId;
455
+ let t : {[key: string ]: any} = null;
456
+ if (!Util.isUnset(request.body)) {
457
+ t = Util.assertAsMap(request.body);
458
+ }
459
+
460
+ let signedParam = {
461
+ ...request_.query,
462
+ ...OpenApiUtil.query(t),
463
+ };
464
+ request_.query["Signature"] = OpenApiUtil.getRPCSignature(signedParam, request_.method, accessKeySecret);
354
465
  }
355
466
 
356
- let signedParam = {
357
- ...request_.query,
358
- ...OpenApiUtil.query(t),
359
- };
360
- request_.query["Signature"] = OpenApiUtil.getRPCSignature(signedParam, request_.method, accessKeySecret);
361
467
  }
362
468
 
363
469
  _lastRequest = request_;
@@ -367,10 +473,13 @@ export default class Client {
367
473
  let _res = await Util.readAsJSON(response_.body);
368
474
  let err = Util.assertAsMap(_res);
369
475
  let requestId = Client.defaultAny(err["RequestId"], err["requestId"]);
476
+ err["statusCode"] = response_.statusCode;
370
477
  throw $tea.newError({
371
478
  code: `${Client.defaultAny(err["Code"], err["code"])}`,
372
479
  message: `code: ${response_.statusCode}, ${Client.defaultAny(err["Message"], err["message"])} request id: ${requestId}`,
373
480
  data: err,
481
+ description: `${Client.defaultAny(err["Description"], err["description"])}`,
482
+ accessDeniedDetail: Client.defaultAny(err["AccessDeniedDetail"], err["accessDeniedDetail"]),
374
483
  });
375
484
  }
376
485
 
@@ -378,6 +487,7 @@ export default class Client {
378
487
  let resp = {
379
488
  body: response_.body,
380
489
  headers: response_.headers,
490
+ statusCode: response_.statusCode,
381
491
  };
382
492
  return resp;
383
493
  } else if (Util.equalString(bodyType, "byte")) {
@@ -385,12 +495,14 @@ export default class Client {
385
495
  return {
386
496
  body: byt,
387
497
  headers: response_.headers,
498
+ statusCode: response_.statusCode,
388
499
  };
389
500
  } else if (Util.equalString(bodyType, "string")) {
390
501
  let str = await Util.readAsString(response_.body);
391
502
  return {
392
503
  body: str,
393
504
  headers: response_.headers,
505
+ statusCode: response_.statusCode,
394
506
  };
395
507
  } else if (Util.equalString(bodyType, "json")) {
396
508
  let obj = await Util.readAsJSON(response_.body);
@@ -398,16 +510,19 @@ export default class Client {
398
510
  return {
399
511
  body: res,
400
512
  headers: response_.headers,
513
+ statusCode: response_.statusCode,
401
514
  };
402
515
  } else if (Util.equalString(bodyType, "array")) {
403
516
  let arr = await Util.readAsJSON(response_.body);
404
517
  return {
405
518
  body: arr,
406
519
  headers: response_.headers,
520
+ statusCode: response_.statusCode,
407
521
  };
408
522
  } else {
409
523
  return {
410
524
  headers: response_.headers,
525
+ statusCode: response_.statusCode,
411
526
  };
412
527
  }
413
528
 
@@ -438,6 +553,9 @@ export default class Client {
438
553
  async doROARequest(action: string, version: string, protocol: string, method: string, authType: string, pathname: string, bodyType: string, request: OpenApiRequest, runtime: $Util.RuntimeOptions): Promise<{[key: string]: any}> {
439
554
  let _runtime: { [key: string]: any } = {
440
555
  timeouted: "retry",
556
+ key: Util.defaultString(runtime.key, this._key),
557
+ cert: Util.defaultString(runtime.cert, this._cert),
558
+ ca: Util.defaultString(runtime.ca, this._ca),
441
559
  readTimeout: Util.defaultNumber(runtime.readTimeout, this._readTimeout),
442
560
  connectTimeout: Util.defaultNumber(runtime.connectTimeout, this._connectTimeout),
443
561
  httpProxy: Util.defaultString(runtime.httpProxy, this._httpProxy),
@@ -474,6 +592,34 @@ export default class Client {
474
592
  request_.protocol = Util.defaultString(this._protocol, protocol);
475
593
  request_.method = method;
476
594
  request_.pathname = pathname;
595
+ let globalQueries : {[key: string ]: string} = { };
596
+ let globalHeaders : {[key: string ]: string} = { };
597
+ if (!Util.isUnset(this._globalParameters)) {
598
+ let globalParams = this._globalParameters;
599
+ if (!Util.isUnset(globalParams.queries)) {
600
+ globalQueries = globalParams.queries;
601
+ }
602
+
603
+ if (!Util.isUnset(globalParams.headers)) {
604
+ globalHeaders = globalParams.headers;
605
+ }
606
+
607
+ }
608
+
609
+ let extendsHeaders : {[key: string ]: string} = { };
610
+ let extendsQueries : {[key: string ]: string} = { };
611
+ if (!Util.isUnset(runtime.extendsParameters)) {
612
+ let extendsParameters = runtime.extendsParameters;
613
+ if (!Util.isUnset(extendsParameters.headers)) {
614
+ extendsHeaders = extendsParameters.headers;
615
+ }
616
+
617
+ if (!Util.isUnset(extendsParameters.queries)) {
618
+ extendsQueries = extendsParameters.queries;
619
+ }
620
+
621
+ }
622
+
477
623
  request_.headers = {
478
624
  date: Util.getDateUTCString(),
479
625
  host: this._endpoint,
@@ -484,6 +630,8 @@ export default class Client {
484
630
  'x-acs-version': version,
485
631
  'x-acs-action': action,
486
632
  'user-agent': Util.getUserAgent(this._userAgent),
633
+ ...globalHeaders,
634
+ ...extendsHeaders,
487
635
  ...request.headers,
488
636
  };
489
637
  if (!Util.isUnset(request.body)) {
@@ -491,21 +639,37 @@ export default class Client {
491
639
  request_.headers["content-type"] = "application/json; charset=utf-8";
492
640
  }
493
641
 
642
+ request_.query = {
643
+ ...globalQueries,
644
+ ...extendsQueries,
645
+ };
494
646
  if (!Util.isUnset(request.query)) {
495
- request_.query = request.query;
647
+ request_.query = {
648
+ ...request_.query,
649
+ ...request.query,
650
+ };
496
651
  }
497
652
 
498
653
  if (!Util.equalString(authType, "Anonymous")) {
499
- let accessKeyId = await this.getAccessKeyId();
500
- let accessKeySecret = await this.getAccessKeySecret();
501
- let securityToken = await this.getSecurityToken();
502
- if (!Util.empty(securityToken)) {
503
- request_.headers["x-acs-accesskey-id"] = accessKeyId;
504
- request_.headers["x-acs-security-token"] = securityToken;
654
+ let credentialModel = await this._credential.getCredential();
655
+ let credentialType = credentialModel.type;
656
+ if (Util.equalString(credentialType, "bearer")) {
657
+ let bearerToken = credentialModel.bearerToken;
658
+ request_.headers["x-acs-bearer-token"] = bearerToken;
659
+ request_.headers["x-acs-signature-type"] = "BEARERTOKEN";
660
+ } else {
661
+ let accessKeyId = credentialModel.accessKeyId;
662
+ let accessKeySecret = credentialModel.accessKeySecret;
663
+ let securityToken = credentialModel.securityToken;
664
+ if (!Util.empty(securityToken)) {
665
+ request_.headers["x-acs-accesskey-id"] = accessKeyId;
666
+ request_.headers["x-acs-security-token"] = securityToken;
667
+ }
668
+
669
+ let stringToSign = OpenApiUtil.getStringToSign(request_);
670
+ request_.headers["authorization"] = `acs ${accessKeyId}:${OpenApiUtil.getROASignature(stringToSign, accessKeySecret)}`;
505
671
  }
506
672
 
507
- let stringToSign = OpenApiUtil.getStringToSign(request_);
508
- request_.headers["authorization"] = `acs ${accessKeyId}:${OpenApiUtil.getROASignature(stringToSign, accessKeySecret)}`;
509
673
  }
510
674
 
511
675
  _lastRequest = request_;
@@ -522,10 +686,13 @@ export default class Client {
522
686
  let err = Util.assertAsMap(_res);
523
687
  let requestId = Client.defaultAny(err["RequestId"], err["requestId"]);
524
688
  requestId = Client.defaultAny(requestId, err["requestid"]);
689
+ err["statusCode"] = response_.statusCode;
525
690
  throw $tea.newError({
526
691
  code: `${Client.defaultAny(err["Code"], err["code"])}`,
527
692
  message: `code: ${response_.statusCode}, ${Client.defaultAny(err["Message"], err["message"])} request id: ${requestId}`,
528
693
  data: err,
694
+ description: `${Client.defaultAny(err["Description"], err["description"])}`,
695
+ accessDeniedDetail: Client.defaultAny(err["AccessDeniedDetail"], err["accessDeniedDetail"]),
529
696
  });
530
697
  }
531
698
 
@@ -533,6 +700,7 @@ export default class Client {
533
700
  let resp = {
534
701
  body: response_.body,
535
702
  headers: response_.headers,
703
+ statusCode: response_.statusCode,
536
704
  };
537
705
  return resp;
538
706
  } else if (Util.equalString(bodyType, "byte")) {
@@ -540,12 +708,14 @@ export default class Client {
540
708
  return {
541
709
  body: byt,
542
710
  headers: response_.headers,
711
+ statusCode: response_.statusCode,
543
712
  };
544
713
  } else if (Util.equalString(bodyType, "string")) {
545
714
  let str = await Util.readAsString(response_.body);
546
715
  return {
547
716
  body: str,
548
717
  headers: response_.headers,
718
+ statusCode: response_.statusCode,
549
719
  };
550
720
  } else if (Util.equalString(bodyType, "json")) {
551
721
  let obj = await Util.readAsJSON(response_.body);
@@ -553,16 +723,19 @@ export default class Client {
553
723
  return {
554
724
  body: res,
555
725
  headers: response_.headers,
726
+ statusCode: response_.statusCode,
556
727
  };
557
728
  } else if (Util.equalString(bodyType, "array")) {
558
729
  let arr = await Util.readAsJSON(response_.body);
559
730
  return {
560
731
  body: arr,
561
732
  headers: response_.headers,
733
+ statusCode: response_.statusCode,
562
734
  };
563
735
  } else {
564
736
  return {
565
737
  headers: response_.headers,
738
+ statusCode: response_.statusCode,
566
739
  };
567
740
  }
568
741
 
@@ -593,6 +766,9 @@ export default class Client {
593
766
  async doROARequestWithForm(action: string, version: string, protocol: string, method: string, authType: string, pathname: string, bodyType: string, request: OpenApiRequest, runtime: $Util.RuntimeOptions): Promise<{[key: string]: any}> {
594
767
  let _runtime: { [key: string]: any } = {
595
768
  timeouted: "retry",
769
+ key: Util.defaultString(runtime.key, this._key),
770
+ cert: Util.defaultString(runtime.cert, this._cert),
771
+ ca: Util.defaultString(runtime.ca, this._ca),
596
772
  readTimeout: Util.defaultNumber(runtime.readTimeout, this._readTimeout),
597
773
  connectTimeout: Util.defaultNumber(runtime.connectTimeout, this._connectTimeout),
598
774
  httpProxy: Util.defaultString(runtime.httpProxy, this._httpProxy),
@@ -629,6 +805,34 @@ export default class Client {
629
805
  request_.protocol = Util.defaultString(this._protocol, protocol);
630
806
  request_.method = method;
631
807
  request_.pathname = pathname;
808
+ let globalQueries : {[key: string ]: string} = { };
809
+ let globalHeaders : {[key: string ]: string} = { };
810
+ if (!Util.isUnset(this._globalParameters)) {
811
+ let globalParams = this._globalParameters;
812
+ if (!Util.isUnset(globalParams.queries)) {
813
+ globalQueries = globalParams.queries;
814
+ }
815
+
816
+ if (!Util.isUnset(globalParams.headers)) {
817
+ globalHeaders = globalParams.headers;
818
+ }
819
+
820
+ }
821
+
822
+ let extendsHeaders : {[key: string ]: string} = { };
823
+ let extendsQueries : {[key: string ]: string} = { };
824
+ if (!Util.isUnset(runtime.extendsParameters)) {
825
+ let extendsParameters = runtime.extendsParameters;
826
+ if (!Util.isUnset(extendsParameters.headers)) {
827
+ extendsHeaders = extendsParameters.headers;
828
+ }
829
+
830
+ if (!Util.isUnset(extendsParameters.queries)) {
831
+ extendsQueries = extendsParameters.queries;
832
+ }
833
+
834
+ }
835
+
632
836
  request_.headers = {
633
837
  date: Util.getDateUTCString(),
634
838
  host: this._endpoint,
@@ -639,6 +843,8 @@ export default class Client {
639
843
  'x-acs-version': version,
640
844
  'x-acs-action': action,
641
845
  'user-agent': Util.getUserAgent(this._userAgent),
846
+ ...globalHeaders,
847
+ ...extendsHeaders,
642
848
  ...request.headers,
643
849
  };
644
850
  if (!Util.isUnset(request.body)) {
@@ -647,21 +853,37 @@ export default class Client {
647
853
  request_.headers["content-type"] = "application/x-www-form-urlencoded";
648
854
  }
649
855
 
856
+ request_.query = {
857
+ ...globalQueries,
858
+ ...extendsQueries,
859
+ };
650
860
  if (!Util.isUnset(request.query)) {
651
- request_.query = request.query;
861
+ request_.query = {
862
+ ...request_.query,
863
+ ...request.query,
864
+ };
652
865
  }
653
866
 
654
867
  if (!Util.equalString(authType, "Anonymous")) {
655
- let accessKeyId = await this.getAccessKeyId();
656
- let accessKeySecret = await this.getAccessKeySecret();
657
- let securityToken = await this.getSecurityToken();
658
- if (!Util.empty(securityToken)) {
659
- request_.headers["x-acs-accesskey-id"] = accessKeyId;
660
- request_.headers["x-acs-security-token"] = securityToken;
868
+ let credentialModel = await this._credential.getCredential();
869
+ let credentialType = credentialModel.type;
870
+ if (Util.equalString(credentialType, "bearer")) {
871
+ let bearerToken = credentialModel.bearerToken;
872
+ request_.headers["x-acs-bearer-token"] = bearerToken;
873
+ request_.headers["x-acs-signature-type"] = "BEARERTOKEN";
874
+ } else {
875
+ let accessKeyId = credentialModel.accessKeyId;
876
+ let accessKeySecret = credentialModel.accessKeySecret;
877
+ let securityToken = credentialModel.securityToken;
878
+ if (!Util.empty(securityToken)) {
879
+ request_.headers["x-acs-accesskey-id"] = accessKeyId;
880
+ request_.headers["x-acs-security-token"] = securityToken;
881
+ }
882
+
883
+ let stringToSign = OpenApiUtil.getStringToSign(request_);
884
+ request_.headers["authorization"] = `acs ${accessKeyId}:${OpenApiUtil.getROASignature(stringToSign, accessKeySecret)}`;
661
885
  }
662
886
 
663
- let stringToSign = OpenApiUtil.getStringToSign(request_);
664
- request_.headers["authorization"] = `acs ${accessKeyId}:${OpenApiUtil.getROASignature(stringToSign, accessKeySecret)}`;
665
887
  }
666
888
 
667
889
  _lastRequest = request_;
@@ -676,10 +898,13 @@ export default class Client {
676
898
  if (Util.is4xx(response_.statusCode) || Util.is5xx(response_.statusCode)) {
677
899
  let _res = await Util.readAsJSON(response_.body);
678
900
  let err = Util.assertAsMap(_res);
901
+ err["statusCode"] = response_.statusCode;
679
902
  throw $tea.newError({
680
903
  code: `${Client.defaultAny(err["Code"], err["code"])}`,
681
904
  message: `code: ${response_.statusCode}, ${Client.defaultAny(err["Message"], err["message"])} request id: ${Client.defaultAny(err["RequestId"], err["requestId"])}`,
682
905
  data: err,
906
+ description: `${Client.defaultAny(err["Description"], err["description"])}`,
907
+ accessDeniedDetail: Client.defaultAny(err["AccessDeniedDetail"], err["accessDeniedDetail"]),
683
908
  });
684
909
  }
685
910
 
@@ -687,6 +912,7 @@ export default class Client {
687
912
  let resp = {
688
913
  body: response_.body,
689
914
  headers: response_.headers,
915
+ statusCode: response_.statusCode,
690
916
  };
691
917
  return resp;
692
918
  } else if (Util.equalString(bodyType, "byte")) {
@@ -694,12 +920,14 @@ export default class Client {
694
920
  return {
695
921
  body: byt,
696
922
  headers: response_.headers,
923
+ statusCode: response_.statusCode,
697
924
  };
698
925
  } else if (Util.equalString(bodyType, "string")) {
699
926
  let str = await Util.readAsString(response_.body);
700
927
  return {
701
928
  body: str,
702
929
  headers: response_.headers,
930
+ statusCode: response_.statusCode,
703
931
  };
704
932
  } else if (Util.equalString(bodyType, "json")) {
705
933
  let obj = await Util.readAsJSON(response_.body);
@@ -707,16 +935,19 @@ export default class Client {
707
935
  return {
708
936
  body: res,
709
937
  headers: response_.headers,
938
+ statusCode: response_.statusCode,
710
939
  };
711
940
  } else if (Util.equalString(bodyType, "array")) {
712
941
  let arr = await Util.readAsJSON(response_.body);
713
942
  return {
714
943
  body: arr,
715
944
  headers: response_.headers,
945
+ statusCode: response_.statusCode,
716
946
  };
717
947
  } else {
718
948
  return {
719
949
  headers: response_.headers,
950
+ statusCode: response_.statusCode,
720
951
  };
721
952
  }
722
953
 
@@ -746,6 +977,9 @@ export default class Client {
746
977
  async doRequest(params: Params, request: OpenApiRequest, runtime: $Util.RuntimeOptions): Promise<{[key: string]: any}> {
747
978
  let _runtime: { [key: string]: any } = {
748
979
  timeouted: "retry",
980
+ key: Util.defaultString(runtime.key, this._key),
981
+ cert: Util.defaultString(runtime.cert, this._cert),
982
+ ca: Util.defaultString(runtime.ca, this._ca),
749
983
  readTimeout: Util.defaultNumber(runtime.readTimeout, this._readTimeout),
750
984
  connectTimeout: Util.defaultNumber(runtime.connectTimeout, this._connectTimeout),
751
985
  httpProxy: Util.defaultString(runtime.httpProxy, this._httpProxy),
@@ -782,7 +1016,39 @@ export default class Client {
782
1016
  request_.protocol = Util.defaultString(this._protocol, params.protocol);
783
1017
  request_.method = params.method;
784
1018
  request_.pathname = params.pathname;
785
- request_.query = request.query;
1019
+ let globalQueries : {[key: string ]: string} = { };
1020
+ let globalHeaders : {[key: string ]: string} = { };
1021
+ if (!Util.isUnset(this._globalParameters)) {
1022
+ let globalParams = this._globalParameters;
1023
+ if (!Util.isUnset(globalParams.queries)) {
1024
+ globalQueries = globalParams.queries;
1025
+ }
1026
+
1027
+ if (!Util.isUnset(globalParams.headers)) {
1028
+ globalHeaders = globalParams.headers;
1029
+ }
1030
+
1031
+ }
1032
+
1033
+ let extendsHeaders : {[key: string ]: string} = { };
1034
+ let extendsQueries : {[key: string ]: string} = { };
1035
+ if (!Util.isUnset(runtime.extendsParameters)) {
1036
+ let extendsParameters = runtime.extendsParameters;
1037
+ if (!Util.isUnset(extendsParameters.headers)) {
1038
+ extendsHeaders = extendsParameters.headers;
1039
+ }
1040
+
1041
+ if (!Util.isUnset(extendsParameters.queries)) {
1042
+ extendsQueries = extendsParameters.queries;
1043
+ }
1044
+
1045
+ }
1046
+
1047
+ request_.query = {
1048
+ ...globalQueries,
1049
+ ...extendsQueries,
1050
+ ...request.query,
1051
+ };
786
1052
  // endpoint is setted in product client
787
1053
  request_.headers = {
788
1054
  host: this._endpoint,
@@ -792,6 +1058,8 @@ export default class Client {
792
1058
  'x-acs-date': OpenApiUtil.getTimestamp(),
793
1059
  'x-acs-signature-nonce': Util.getNonce(),
794
1060
  accept: "application/json",
1061
+ ...globalHeaders,
1062
+ ...extendsHeaders,
795
1063
  ...request.headers,
796
1064
  };
797
1065
  if (Util.equalString(params.style, "RPC")) {
@@ -814,7 +1082,11 @@ export default class Client {
814
1082
  request_.headers["content-type"] = "application/octet-stream";
815
1083
  } else {
816
1084
  if (!Util.isUnset(request.body)) {
817
- if (Util.equalString(params.reqBodyType, "json")) {
1085
+ if (Util.equalString(params.reqBodyType, "byte")) {
1086
+ let byteObj = Util.assertAsBytes(request.body);
1087
+ hashedRequestPayload = OpenApiUtil.hexEncode(OpenApiUtil.hash(byteObj, signatureAlgorithm));
1088
+ request_.body = new $tea.BytesReadable(byteObj);
1089
+ } else if (Util.equalString(params.reqBodyType, "json")) {
818
1090
  let jsonObj = Util.toJSONString(request.body);
819
1091
  hashedRequestPayload = OpenApiUtil.hexEncode(OpenApiUtil.hash(Util.toBytes(jsonObj), signatureAlgorithm));
820
1092
  request_.body = new $tea.BytesReadable(jsonObj);
@@ -833,27 +1105,52 @@ export default class Client {
833
1105
 
834
1106
  request_.headers["x-acs-content-sha256"] = hashedRequestPayload;
835
1107
  if (!Util.equalString(params.authType, "Anonymous")) {
836
- let accessKeyId = await this.getAccessKeyId();
837
- let accessKeySecret = await this.getAccessKeySecret();
838
- let securityToken = await this.getSecurityToken();
839
- if (!Util.empty(securityToken)) {
840
- request_.headers["x-acs-accesskey-id"] = accessKeyId;
841
- request_.headers["x-acs-security-token"] = securityToken;
1108
+ let credentialModel = await this._credential.getCredential();
1109
+ let authType = credentialModel.type;
1110
+ if (Util.equalString(authType, "bearer")) {
1111
+ let bearerToken = credentialModel.bearerToken;
1112
+ request_.headers["x-acs-bearer-token"] = bearerToken;
1113
+ if (Util.equalString(params.style, "RPC")) {
1114
+ request_.query["SignatureType"] = "BEARERTOKEN";
1115
+ } else {
1116
+ request_.headers["x-acs-signature-type"] = "BEARERTOKEN";
1117
+ }
1118
+
1119
+ } else {
1120
+ let accessKeyId = credentialModel.accessKeyId;
1121
+ let accessKeySecret = credentialModel.accessKeySecret;
1122
+ let securityToken = credentialModel.securityToken;
1123
+ if (!Util.empty(securityToken)) {
1124
+ request_.headers["x-acs-accesskey-id"] = accessKeyId;
1125
+ request_.headers["x-acs-security-token"] = securityToken;
1126
+ }
1127
+
1128
+ request_.headers["Authorization"] = OpenApiUtil.getAuthorization(request_, signatureAlgorithm, hashedRequestPayload, accessKeyId, accessKeySecret);
842
1129
  }
843
1130
 
844
- request_.headers["Authorization"] = OpenApiUtil.getAuthorization(request_, signatureAlgorithm, hashedRequestPayload, accessKeyId, accessKeySecret);
845
1131
  }
846
1132
 
847
1133
  _lastRequest = request_;
848
1134
  let response_ = await $tea.doAction(request_, _runtime);
849
1135
 
850
1136
  if (Util.is4xx(response_.statusCode) || Util.is5xx(response_.statusCode)) {
851
- let _res = await Util.readAsJSON(response_.body);
852
- let err = Util.assertAsMap(_res);
1137
+ let err : {[key: string ]: any} = { };
1138
+ if (!Util.isUnset(response_.headers["content-type"]) && Util.equalString(response_.headers["content-type"], "text/xml;charset=utf-8")) {
1139
+ let _str = await Util.readAsString(response_.body);
1140
+ let respMap = XML.parseXml(_str, null);
1141
+ err = Util.assertAsMap(respMap["Error"]);
1142
+ } else {
1143
+ let _res = await Util.readAsJSON(response_.body);
1144
+ err = Util.assertAsMap(_res);
1145
+ }
1146
+
1147
+ err["statusCode"] = response_.statusCode;
853
1148
  throw $tea.newError({
854
1149
  code: `${Client.defaultAny(err["Code"], err["code"])}`,
855
1150
  message: `code: ${response_.statusCode}, ${Client.defaultAny(err["Message"], err["message"])} request id: ${Client.defaultAny(err["RequestId"], err["requestId"])}`,
856
1151
  data: err,
1152
+ description: `${Client.defaultAny(err["Description"], err["description"])}`,
1153
+ accessDeniedDetail: Client.defaultAny(err["AccessDeniedDetail"], err["accessDeniedDetail"]),
857
1154
  });
858
1155
  }
859
1156
 
@@ -861,6 +1158,7 @@ export default class Client {
861
1158
  let resp = {
862
1159
  body: response_.body,
863
1160
  headers: response_.headers,
1161
+ statusCode: response_.statusCode,
864
1162
  };
865
1163
  return resp;
866
1164
  } else if (Util.equalString(params.bodyType, "byte")) {
@@ -868,12 +1166,14 @@ export default class Client {
868
1166
  return {
869
1167
  body: byt,
870
1168
  headers: response_.headers,
1169
+ statusCode: response_.statusCode,
871
1170
  };
872
1171
  } else if (Util.equalString(params.bodyType, "string")) {
873
1172
  let str = await Util.readAsString(response_.body);
874
1173
  return {
875
1174
  body: str,
876
1175
  headers: response_.headers,
1176
+ statusCode: response_.statusCode,
877
1177
  };
878
1178
  } else if (Util.equalString(params.bodyType, "json")) {
879
1179
  let obj = await Util.readAsJSON(response_.body);
@@ -881,16 +1181,21 @@ export default class Client {
881
1181
  return {
882
1182
  body: res,
883
1183
  headers: response_.headers,
1184
+ statusCode: response_.statusCode,
884
1185
  };
885
1186
  } else if (Util.equalString(params.bodyType, "array")) {
886
1187
  let arr = await Util.readAsJSON(response_.body);
887
1188
  return {
888
1189
  body: arr,
889
1190
  headers: response_.headers,
1191
+ statusCode: response_.statusCode,
890
1192
  };
891
1193
  } else {
1194
+ let anything = await Util.readAsString(response_.body);
892
1195
  return {
1196
+ body: anything,
893
1197
  headers: response_.headers,
1198
+ statusCode: response_.statusCode,
894
1199
  };
895
1200
  }
896
1201
 
@@ -920,6 +1225,9 @@ export default class Client {
920
1225
  async execute(params: Params, request: OpenApiRequest, runtime: $Util.RuntimeOptions): Promise<{[key: string]: any}> {
921
1226
  let _runtime: { [key: string]: any } = {
922
1227
  timeouted: "retry",
1228
+ key: Util.defaultString(runtime.key, this._key),
1229
+ cert: Util.defaultString(runtime.cert, this._cert),
1230
+ ca: Util.defaultString(runtime.ca, this._ca),
923
1231
  readTimeout: Util.defaultNumber(runtime.readTimeout, this._readTimeout),
924
1232
  connectTimeout: Util.defaultNumber(runtime.connectTimeout, this._connectTimeout),
925
1233
  httpProxy: Util.defaultString(runtime.httpProxy, this._httpProxy),
@@ -937,6 +1245,7 @@ export default class Client {
937
1245
  period: Util.defaultNumber(runtime.backoffPeriod, 1),
938
1246
  },
939
1247
  ignoreSSL: runtime.ignoreSSL,
1248
+ disableHttp2: Client.defaultAny(this._disableHttp2, false),
940
1249
  }
941
1250
 
942
1251
  let _lastRequest = null;
@@ -955,12 +1264,46 @@ export default class Client {
955
1264
  let request_ = new $tea.Request();
956
1265
  // spi = new Gateway();//Gateway implements SPI,这一步在产品 SDK 中实例化
957
1266
  let headers = this.getRpcHeaders();
1267
+ let globalQueries : {[key: string ]: string} = { };
1268
+ let globalHeaders : {[key: string ]: string} = { };
1269
+ if (!Util.isUnset(this._globalParameters)) {
1270
+ let globalParams = this._globalParameters;
1271
+ if (!Util.isUnset(globalParams.queries)) {
1272
+ globalQueries = globalParams.queries;
1273
+ }
1274
+
1275
+ if (!Util.isUnset(globalParams.headers)) {
1276
+ globalHeaders = globalParams.headers;
1277
+ }
1278
+
1279
+ }
1280
+
1281
+ let extendsHeaders : {[key: string ]: string} = { };
1282
+ let extendsQueries : {[key: string ]: string} = { };
1283
+ if (!Util.isUnset(runtime.extendsParameters)) {
1284
+ let extendsParameters = runtime.extendsParameters;
1285
+ if (!Util.isUnset(extendsParameters.headers)) {
1286
+ extendsHeaders = extendsParameters.headers;
1287
+ }
1288
+
1289
+ if (!Util.isUnset(extendsParameters.queries)) {
1290
+ extendsQueries = extendsParameters.queries;
1291
+ }
1292
+
1293
+ }
1294
+
958
1295
  let requestContext = new $SPI.InterceptorContextRequest({
959
1296
  headers: {
1297
+ ...globalHeaders,
1298
+ ...extendsHeaders,
960
1299
  ...request.headers,
961
1300
  ...headers,
962
1301
  },
963
- query: request.query,
1302
+ query: {
1303
+ ...globalQueries,
1304
+ ...extendsQueries,
1305
+ ...request.query,
1306
+ },
964
1307
  body: request.body,
965
1308
  stream: request.stream,
966
1309
  hostMap: request.hostMap,
@@ -981,7 +1324,7 @@ export default class Client {
981
1324
  });
982
1325
  let configurationContext = new $SPI.InterceptorContextConfiguration({
983
1326
  regionId: this._regionId,
984
- endpoint: this._endpoint,
1327
+ endpoint: Util.defaultString(request.endpointOverride, this._endpoint),
985
1328
  endpointRule: this._endpointRule,
986
1329
  endpointMap: this._endpointMap,
987
1330
  endpointType: this._endpointType,
@@ -1016,6 +1359,7 @@ export default class Client {
1016
1359
  await this._spi.modifyResponse(interceptorContext, attributeMap);
1017
1360
  return {
1018
1361
  headers: interceptorContext.response.headers,
1362
+ statusCode: interceptorContext.response.statusCode,
1019
1363
  body: interceptorContext.response.deserializedBody,
1020
1364
  };
1021
1365
  } catch (ex) {
@@ -1030,7 +1374,7 @@ export default class Client {
1030
1374
  }
1031
1375
 
1032
1376
  async callApi(params: Params, request: OpenApiRequest, runtime: $Util.RuntimeOptions): Promise<{[key: string]: any}> {
1033
- if (Util.isUnset($tea.toMap(params))) {
1377
+ if (Util.isUnset(params)) {
1034
1378
  throw $tea.newError({
1035
1379
  code: "ParameterMissing",
1036
1380
  message: "'params' can not be unset",
@@ -1097,6 +1441,32 @@ export default class Client {
1097
1441
  return token;
1098
1442
  }
1099
1443
 
1444
+ /**
1445
+ * Get bearer token by credential
1446
+ * @return bearer token
1447
+ */
1448
+ async getBearerToken(): Promise<string> {
1449
+ if (Util.isUnset(this._credential)) {
1450
+ return "";
1451
+ }
1452
+
1453
+ let token = this._credential.getBearerToken();
1454
+ return token;
1455
+ }
1456
+
1457
+ /**
1458
+ * Get credential type by credential
1459
+ * @return credential type e.g. access_key
1460
+ */
1461
+ async getType(): Promise<string> {
1462
+ if (Util.isUnset(this._credential)) {
1463
+ return "";
1464
+ }
1465
+
1466
+ let authType = this._credential.getType();
1467
+ return authType;
1468
+ }
1469
+
1100
1470
  /**
1101
1471
  * If inputValue is not null, return it or return defaultValue
1102
1472
  * @param inputValue users input value
@@ -1125,6 +1495,14 @@ export default class Client {
1125
1495
 
1126
1496
  }
1127
1497
 
1498
+ /**
1499
+ * set gateway client
1500
+ * @param spi.
1501
+ */
1502
+ setGatewayClient(spi: SPI): void {
1503
+ this._spi = spi;
1504
+ }
1505
+
1128
1506
  /**
1129
1507
  * set RPC header for debug
1130
1508
  * @param headers headers for debug, this header can be used only once.