@utiliread/http 1.15.1 → 1.15.2
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/dist/cjs/http-error.js
CHANGED
|
@@ -39,10 +39,11 @@ var HttpError = /** @class */ (function (_super) {
|
|
|
39
39
|
configurable: true
|
|
40
40
|
});
|
|
41
41
|
HttpError.prototype.details = function () {
|
|
42
|
-
var _a;
|
|
42
|
+
var _a, _b;
|
|
43
43
|
var rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
|
|
44
44
|
if (rawResponse && this.hasDetails) {
|
|
45
|
-
|
|
45
|
+
(_b = this.detailsPromise) !== null && _b !== void 0 ? _b : (this.detailsPromise = rawResponse.json().then(function (details) { return details; }));
|
|
46
|
+
return this.detailsPromise.then(function (details) { return details; });
|
|
46
47
|
}
|
|
47
48
|
return Promise.reject(new Error("There are no problem details in the response"));
|
|
48
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA;IAA+B,6BAAK;
|
|
1
|
+
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA;IAA+B,6BAAK;IAQhC,mBAAmB,UAAkB,EAAU,QAA8C;QAA9C,yBAAA,EAAA,oBAA8C;QAA7F,YACI,kBAAM,2CAAoC,UAAU,CAAE,CAAC,SAM1D;QAPkB,gBAAU,GAAV,UAAU,CAAQ;QAAU,cAAQ,GAAR,QAAQ,CAAsC;QAEzF,KAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAExB,wEAAwE;QACxE,mJAAmJ;QACnJ,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;;IACrD,CAAC;IAZD,sBAAI,iCAAU;aAAd;;YACI,IAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5E,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAWD,2BAAO,GAAP;;QACI,IAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YAChC,MAAA,IAAI,CAAC,cAAc,oCAAnB,IAAI,CAAC,cAAc,GAAK,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAgB,OAAO,EAAvB,CAAuB,CAAC,EAAC;YACpF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAU,OAAO,EAAjB,CAAiB,CAAC,CAAC;SACjE;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrF,CAAC;IACL,gBAAC;AAAD,CAAC,AA3BD,CAA+B,KAAK,GA2BnC;AA3BY,8BAAS"}
|
package/dist/esm/http-error.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ProblemDetails } from './problem-details';
|
|
|
3
3
|
export declare class HttpError extends Error {
|
|
4
4
|
statusCode: number;
|
|
5
5
|
private response;
|
|
6
|
+
private detailsPromise?;
|
|
6
7
|
get hasDetails(): boolean | undefined;
|
|
7
8
|
constructor(statusCode: number, response?: HttpResponse | undefined);
|
|
8
9
|
details<TDetails = ProblemDetails>(): Promise<TDetails>;
|
package/dist/esm/http-error.js
CHANGED
|
@@ -36,10 +36,11 @@ var HttpError = /** @class */ (function (_super) {
|
|
|
36
36
|
configurable: true
|
|
37
37
|
});
|
|
38
38
|
HttpError.prototype.details = function () {
|
|
39
|
-
var _a;
|
|
39
|
+
var _a, _b;
|
|
40
40
|
var rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
|
|
41
41
|
if (rawResponse && this.hasDetails) {
|
|
42
|
-
|
|
42
|
+
(_b = this.detailsPromise) !== null && _b !== void 0 ? _b : (this.detailsPromise = rawResponse.json().then(function (details) { return details; }));
|
|
43
|
+
return this.detailsPromise.then(function (details) { return details; });
|
|
43
44
|
}
|
|
44
45
|
return Promise.reject(new Error("There are no problem details in the response"));
|
|
45
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA;IAA+B,6BAAK;
|
|
1
|
+
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA;IAA+B,6BAAK;IAQhC,mBAAmB,UAAkB,EAAU,QAA8C;QAA9C,yBAAA,EAAA,oBAA8C;QAA7F,YACI,kBAAM,2CAAoC,UAAU,CAAE,CAAC,SAM1D;QAPkB,gBAAU,GAAV,UAAU,CAAQ;QAAU,cAAQ,GAAR,QAAQ,CAAsC;QAEzF,KAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAExB,wEAAwE;QACxE,mJAAmJ;QACnJ,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;;IACrD,CAAC;IAZD,sBAAI,iCAAU;aAAd;;YACI,IAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5E,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAWD,2BAAO,GAAP;;QACI,IAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YAChC,MAAA,IAAI,CAAC,cAAc,oCAAnB,IAAI,CAAC,cAAc,GAAK,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAgB,OAAO,EAAvB,CAAuB,CAAC,EAAC;YACpF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAU,OAAO,EAAjB,CAAiB,CAAC,CAAC;SACjE;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrF,CAAC;IACL,gBAAC;AAAD,CAAC,AA3BD,CAA+B,KAAK,GA2BnC"}
|
package/package.json
CHANGED
package/src/http-error.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { HttpResponse } from './http-response';
|
|
|
2
2
|
import { ProblemDetails } from './problem-details';
|
|
3
3
|
|
|
4
4
|
export class HttpError extends Error {
|
|
5
|
+
private detailsPromise?: Promise<ProblemDetails>;
|
|
6
|
+
|
|
5
7
|
get hasDetails() {
|
|
6
8
|
const contentType = this.response?.rawResponse?.headers.get("Content-Type");
|
|
7
9
|
return contentType?.includes("application/problem+json");
|
|
@@ -20,7 +22,8 @@ export class HttpError extends Error {
|
|
|
20
22
|
const rawResponse = this.response?.rawResponse;
|
|
21
23
|
|
|
22
24
|
if (rawResponse && this.hasDetails) {
|
|
23
|
-
|
|
25
|
+
this.detailsPromise ??= rawResponse.json().then(details => <ProblemDetails>details);
|
|
26
|
+
return this.detailsPromise.then(details => <TDetails>details);
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
return Promise.reject(new Error("There are no problem details in the response"));
|