@api-client/core 0.3.4 → 0.3.5

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 (36) hide show
  1. package/build/browser.d.ts +1 -0
  2. package/build/browser.js +1 -0
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +1 -1
  5. package/build/index.js +1 -1
  6. package/build/index.js.map +1 -1
  7. package/build/src/models/ErrorResponse.d.ts +5 -4
  8. package/build/src/models/ErrorResponse.js +18 -5
  9. package/build/src/models/ErrorResponse.js.map +1 -1
  10. package/build/src/models/SerializableError.d.ts +30 -0
  11. package/build/src/models/SerializableError.js +63 -0
  12. package/build/src/models/SerializableError.js.map +1 -0
  13. package/build/src/runtime/http-engine/ArcEngine.js +8 -4
  14. package/build/src/runtime/http-engine/ArcEngine.js.map +1 -1
  15. package/build/src/runtime/http-engine/HttpEngine.d.ts +3 -3
  16. package/build/src/runtime/http-engine/HttpEngine.js +3 -3
  17. package/build/src/runtime/http-engine/HttpEngine.js.map +1 -1
  18. package/build/src/runtime/http-engine/NodeEngine.js +9 -4
  19. package/build/src/runtime/http-engine/NodeEngine.js.map +1 -1
  20. package/build/src/runtime/http-engine/NodeEngineDirect.js +8 -2
  21. package/build/src/runtime/http-engine/NodeEngineDirect.js.map +1 -1
  22. package/build/src/runtime/node/ProjectRunner.d.ts +2 -2
  23. package/build/src/runtime/node/ProjectRunner.js +9 -2
  24. package/build/src/runtime/node/ProjectRunner.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/models/ErrorResponse.ts +20 -8
  27. package/src/models/SerializableError.ts +80 -0
  28. package/src/runtime/http-engine/ArcEngine.ts +8 -4
  29. package/src/runtime/http-engine/HttpEngine.ts +5 -5
  30. package/src/runtime/http-engine/NodeEngine.ts +10 -5
  31. package/src/runtime/http-engine/NodeEngineDirect.ts +9 -3
  32. package/src/runtime/node/ProjectRunner.ts +11 -5
  33. package/build/src/runtime/http-engine/Errors.d.ts +0 -10
  34. package/build/src/runtime/http-engine/Errors.js +0 -14
  35. package/build/src/runtime/http-engine/Errors.js.map +0 -1
  36. package/src/runtime/http-engine/Errors.ts +0 -13
@@ -19,6 +19,7 @@ import { HttpResponse } from '../../models/HttpResponse.js';
19
19
  import { ResponseRedirect } from '../../models/ResponseRedirect.js';
20
20
  import { RequestLog, IRequestLog } from '../../models/RequestLog.js';
21
21
  import { RequestTime } from '../../models/RequestTime.js';
22
+ import { SerializableError } from '../../models/SerializableError.js';
22
23
  import { ResponseAuthorization } from '../../models/ResponseAuthorization.js';
23
24
  import { DefaultLogger } from '../../lib/logging/DefaultLogger.js';
24
25
  import { ILogger, Logger } from '../../lib/logging/Logger.js';
@@ -26,7 +27,6 @@ import { Headers } from '../../lib/headers/Headers.js';
26
27
  import * as RequestUtils from './RequestUtils.js';
27
28
  import { Cookies } from '../../lib/cookies/Cookies.js';
28
29
  import { HttpErrorCodes } from './HttpErrorCodes.js';
29
- import { NetError } from './Errors.js';
30
30
 
31
31
  export interface HttpEngineOptions extends IRequestBaseConfig {
32
32
  /**
@@ -188,7 +188,7 @@ export abstract class HttpEngine extends EventEmitter {
188
188
  auth?: IRequestAuthState;
189
189
 
190
190
  protected mainResolver?: (log: IRequestLog) => void;
191
- protected mainRejecter?: (err: NetError) => void;
191
+ protected mainRejecter?: (err: SerializableError) => void;
192
192
  [mainPromiseSymbol]?: Promise<IRequestLog>;
193
193
 
194
194
  constructor(request: IHttpRequest, opts: HttpEngineOptions = {}) {
@@ -562,7 +562,7 @@ Check your request parameters.`);
562
562
  message = opts.message;
563
563
  }
564
564
  message = message || 'Unknown error occurred';
565
- const error = new NetError(message, opts.code);
565
+ const error = new SerializableError(message, opts.code);
566
566
  const log = RequestLog.fromRequest(this.sentRequest);
567
567
  const response = ErrorResponse.fromError(error);
568
568
  log.response = response;
@@ -855,14 +855,14 @@ Check your request parameters.`);
855
855
  *
856
856
  * @param log Either the request execution log or an error.
857
857
  */
858
- protected finalizeRequest(log: RequestLog | NetError): void {
858
+ protected finalizeRequest(log: RequestLog | SerializableError): void {
859
859
  const { mainRejecter, mainResolver } = this;
860
860
  if (!mainRejecter || !mainResolver) {
861
861
  // console.error(`Trying to finalize the request but the main resolver is not set.`);
862
862
  return;
863
863
  }
864
864
 
865
- if (log instanceof Error) {
865
+ if (log instanceof SerializableError) {
866
866
  mainRejecter(log);
867
867
  } else {
868
868
  mainResolver(log.toJSON());
@@ -8,10 +8,10 @@ import { HttpEngine, HttpEngineOptions, ResponseErrorInit, HeadersReceivedDetail
8
8
  import { IHttpRequest } from '../../models/HttpRequest.js';
9
9
  import { ArcResponse } from '../../models/ArcResponse.js';
10
10
  import { IRequestLog } from '../../models/RequestLog.js';
11
+ import { SerializableError } from '../../models/SerializableError.js';
11
12
  import { Headers } from '../../lib/headers/Headers.js';
12
13
  import { PayloadSupport } from './PayloadSupport.js';
13
14
  import { addContentLength, getPort } from './RequestUtils.js';
14
- import { NetError } from './Errors.js';
15
15
  import { INtlmAuthorization } from '../../models/Authorization.js';
16
16
  import { NtlmAuth, INtlmAuthConfig } from './ntlm/NtlmAuth.js';
17
17
 
@@ -59,9 +59,14 @@ export class NodeEngine extends HttpEngine {
59
59
  request.setTimeout(timeout);
60
60
  }
61
61
  }
62
- } catch (e) {
63
- console.warn(e);
64
- this.finalizeRequest(e as Error);
62
+ } catch (cause) {
63
+ console.warn(cause);
64
+ const e = cause as any;
65
+ const err = new SerializableError(e.message, { cause: e });
66
+ if (e.code || e.code === 0) {
67
+ err.code = e.code as string;
68
+ }
69
+ this.finalizeRequest(e);
65
70
  }
66
71
  }
67
72
 
@@ -593,7 +598,7 @@ export class NodeEngine extends HttpEngine {
593
598
  });
594
599
  } else {
595
600
  connectRequest.destroy();
596
- const e = new NetError('A tunnel connection through the proxy could not be established.', 111);
601
+ const e = new SerializableError('A tunnel connection through the proxy could not be established', 111);
597
602
  reject(e);
598
603
  }
599
604
  });
@@ -9,6 +9,7 @@ import { IRequestLog } from 'src/models/RequestLog.js';
9
9
  import { IHttpRequest } from '../../models/HttpRequest.js';
10
10
  import { ArcResponse } from '../../models/ArcResponse.js';
11
11
  import { Headers } from '../../lib/headers/Headers.js';
12
+ import { SerializableError } from '../../models/SerializableError.js';
12
13
  import { PayloadSupport } from './PayloadSupport.js';
13
14
  import { addContentLength, getPort } from './RequestUtils.js';
14
15
 
@@ -85,9 +86,14 @@ export class NodeEngineDirect extends HttpEngine {
85
86
  if (timeout > 0) {
86
87
  request.setTimeout(timeout);
87
88
  }
88
- } catch (e) {
89
- console.warn(e);
90
- this.finalizeRequest(e as Error);
89
+ } catch (cause) {
90
+ console.warn(cause);
91
+ const e = cause as any;
92
+ const err = new SerializableError(e.message, { cause: e });
93
+ if (e.code || e.code === 0) {
94
+ err.code = e.code as string;
95
+ }
96
+ this.finalizeRequest(e);
91
97
  }
92
98
  }
93
99
 
@@ -1,12 +1,14 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { Environment } from '../../models/Environment.js';
3
3
  import { Logger } from '../../lib/logging/Logger.js';
4
- import { IRequestLog } from '../../models/RequestLog.js';
4
+ import { IRequestLog, RequestLog } from '../../models/RequestLog.js';
5
5
  import { Property } from '../../models/Property.js';
6
6
  import { ProjectFolder, Kind as ProjectFolderKind } from '../../models/ProjectFolder.js';
7
7
  import { ProjectRequest } from '../../models/ProjectRequest.js';
8
8
  import { IHttpRequest } from '../../models/HttpRequest.js';
9
9
  import { HttpProject, IProjectRequestIterator } from '../../models/HttpProject.js';
10
+ import { SentRequest } from '../..//models/SentRequest.js';
11
+ import { ErrorResponse } from '../../models/ErrorResponse.js';
10
12
  import { VariablesStore } from './VariablesStore.js';
11
13
  import { VariablesProcessor } from '../variables/VariablesProcessor.js';
12
14
  import { RequestFactory } from './RequestFactory.js';
@@ -75,7 +77,7 @@ export interface ProjectRunner {
75
77
  /**
76
78
  * There was a general error during the request
77
79
  */
78
- on(event: 'error', listener: (key: string, request: IHttpRequest, message: string) => void): this;
80
+ on(event: 'error', listener: (key: string, log: IRequestLog, message: string) => void): this;
79
81
  /**
80
82
  * The request object is prepared and about to be sent to the HTTP engine
81
83
  */
@@ -87,7 +89,7 @@ export interface ProjectRunner {
87
89
  /**
88
90
  * There was a general error during the request
89
91
  */
90
- once(event: 'error', listener: (key: string, request: IHttpRequest, message: string) => void): this;
92
+ once(event: 'error', listener: (key: string, log: IRequestLog, message: string) => void): this;
91
93
  }
92
94
 
93
95
  /**
@@ -192,9 +194,13 @@ export class ProjectRunner extends EventEmitter {
192
194
  info.log = result;
193
195
  this.emit('response', request.key, { ...result });
194
196
  } catch (e) {
197
+ const cause = e as Error;
195
198
  info.error = true;
196
- info.errorMessage = (e as Error).message;
197
- this.emit('error', request.key, { ...requestData }, info.errorMessage);
199
+ info.errorMessage = cause.message;
200
+ const sent = new SentRequest({ ...requestData, startTime: 0, endTime: 0, });
201
+ const response = ErrorResponse.fromError(info.errorMessage);
202
+ const log = RequestLog.fromRequestResponse(sent.toJSON(), response.toJSON()).toJSON();
203
+ this.emit('error', request.key, log, info.errorMessage);
198
204
  }
199
205
 
200
206
  this.eventTarget.removeEventListener(EventTypes.Environment.set, variableHandler as any);
@@ -1,10 +0,0 @@
1
- /**
2
- * Network errors occurred during transport with a message and error code.
3
- */
4
- export declare class NetError extends Error {
5
- code?: number | string;
6
- /**
7
- * @param code Optional error code.
8
- */
9
- constructor(message: string, code?: number | string);
10
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Network errors occurred during transport with a message and error code.
3
- */
4
- export class NetError extends Error {
5
- code;
6
- /**
7
- * @param code Optional error code.
8
- */
9
- constructor(message, code) {
10
- super(message);
11
- this.code = code;
12
- }
13
- }
14
- //# sourceMappingURL=Errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../src/runtime/http-engine/Errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAmB;IACvB;;OAEG;IACH,YAAY,OAAe,EAAE,IAAsB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Network errors occurred during transport with a message and error code.
3
- */
4
- export class NetError extends Error {
5
- code?: number | string;
6
- /**
7
- * @param code Optional error code.
8
- */
9
- constructor(message: string, code?: number | string) {
10
- super(message);
11
- this.code = code;
12
- }
13
- }