@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.
- package/build/browser.d.ts +1 -0
- package/build/browser.js +1 -0
- package/build/browser.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/src/models/ErrorResponse.d.ts +5 -4
- package/build/src/models/ErrorResponse.js +18 -5
- package/build/src/models/ErrorResponse.js.map +1 -1
- package/build/src/models/SerializableError.d.ts +30 -0
- package/build/src/models/SerializableError.js +63 -0
- package/build/src/models/SerializableError.js.map +1 -0
- package/build/src/runtime/http-engine/ArcEngine.js +8 -4
- package/build/src/runtime/http-engine/ArcEngine.js.map +1 -1
- package/build/src/runtime/http-engine/HttpEngine.d.ts +3 -3
- package/build/src/runtime/http-engine/HttpEngine.js +3 -3
- package/build/src/runtime/http-engine/HttpEngine.js.map +1 -1
- package/build/src/runtime/http-engine/NodeEngine.js +9 -4
- package/build/src/runtime/http-engine/NodeEngine.js.map +1 -1
- package/build/src/runtime/http-engine/NodeEngineDirect.js +8 -2
- package/build/src/runtime/http-engine/NodeEngineDirect.js.map +1 -1
- package/build/src/runtime/node/ProjectRunner.d.ts +2 -2
- package/build/src/runtime/node/ProjectRunner.js +9 -2
- package/build/src/runtime/node/ProjectRunner.js.map +1 -1
- package/package.json +1 -1
- package/src/models/ErrorResponse.ts +20 -8
- package/src/models/SerializableError.ts +80 -0
- package/src/runtime/http-engine/ArcEngine.ts +8 -4
- package/src/runtime/http-engine/HttpEngine.ts +5 -5
- package/src/runtime/http-engine/NodeEngine.ts +10 -5
- package/src/runtime/http-engine/NodeEngineDirect.ts +9 -3
- package/src/runtime/node/ProjectRunner.ts +11 -5
- package/build/src/runtime/http-engine/Errors.d.ts +0 -10
- package/build/src/runtime/http-engine/Errors.js +0 -14
- package/build/src/runtime/http-engine/Errors.js.map +0 -1
- 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:
|
|
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
|
|
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 |
|
|
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
|
|
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 (
|
|
63
|
-
console.warn(
|
|
64
|
-
|
|
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
|
|
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 (
|
|
89
|
-
console.warn(
|
|
90
|
-
|
|
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,
|
|
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,
|
|
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 =
|
|
197
|
-
|
|
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
|
-
}
|