@utiliread/http 1.14.3 → 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.
@@ -20,7 +20,7 @@ var HttpError = /** @class */ (function (_super) {
20
20
  __extends(HttpError, _super);
21
21
  function HttpError(statusCode, response) {
22
22
  if (response === void 0) { response = undefined; }
23
- var _this = _super.call(this, "The response was not successful: " + statusCode) || this;
23
+ var _this = _super.call(this, "The response was not successful: ".concat(statusCode)) || this;
24
24
  _this.statusCode = statusCode;
25
25
  _this.response = response;
26
26
  _this.name = 'HttpError';
@@ -29,14 +29,21 @@ var HttpError = /** @class */ (function (_super) {
29
29
  Object.setPrototypeOf(_this, HttpError.prototype);
30
30
  return _this;
31
31
  }
32
+ Object.defineProperty(HttpError.prototype, "hasDetails", {
33
+ get: function () {
34
+ var _a, _b;
35
+ var contentType = (_b = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse) === null || _b === void 0 ? void 0 : _b.headers.get("Content-Type");
36
+ return contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/problem+json");
37
+ },
38
+ enumerable: false,
39
+ configurable: true
40
+ });
32
41
  HttpError.prototype.details = function () {
33
- var _a;
42
+ var _a, _b;
34
43
  var rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
35
- if (rawResponse) {
36
- var contentType = rawResponse.headers.get("Content-Type");
37
- if (contentType && contentType.includes("application/problem+json")) {
38
- return rawResponse.json().then(function (details) { return details; });
39
- }
44
+ if (rawResponse && this.hasDetails) {
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; });
40
47
  }
41
48
  return Promise.reject(new Error("There are no problem details in the response"));
42
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA;IAA+B,6BAAK;IAChC,mBAAmB,UAAkB,EAAU,QAA8C;QAA9C,yBAAA,EAAA,oBAA8C;QAA7F,YACI,kBAAM,sCAAoC,UAAY,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;IAED,2BAAO,GAAP;;QACI,IAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,IAAI,WAAW,EAAE;YACb,IAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;gBACjE,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAU,OAAO,EAAjB,CAAiB,CAAC,CAAC;aAChE;SACJ;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrF,CAAC;IACL,gBAAC;AAAD,CAAC,AAtBD,CAA+B,KAAK,GAsBnC;AAtBY,8BAAS"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAyC;AAEzC;IAiCI,sBAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IACxC,CAAC;IAjCD,sBAAI,6BAAG;aAAP;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;;;OAAA;IAED,sBAAI,iCAAO;aAAX;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAKD,iDAA0B,GAA1B;QACI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,sBAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,mBAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,oCAAY;AA6CzB;IAAwC,mCAAY;IAChD,yBAAY,WAAqB,EAAU,OAA+C;QAA1F,YACI,kBAAM,WAAW,CAAC,SACrB;QAF0C,aAAO,GAAP,OAAO,CAAwC;;IAE1F,CAAC;IAED,iCAAO,GAAP;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACL,sBAAC;AAAD,CAAC,AARD,CAAwC,YAAY,GAQnD;AARY,0CAAe"}
1
+ {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAyC;AAEzC;IAiCE,sBAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IAAG,CAAC;IAhC5C,sBAAI,6BAAG;aAAP;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAC9B,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACjC,CAAC;;;OAAA;IAED,sBAAI,iCAAO;aAAX;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAIM,iDAA0B,GAAjC;QACE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,IAAI,sBAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACH,mBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,oCAAY;AA4CzB;IAAwC,mCAAY;IAClD,yBACE,WAAqB,EACb,OAA+C;QAFzD,YAIE,kBAAM,WAAW,CAAC,SACnB;QAHS,aAAO,GAAP,OAAO,CAAwC;;IAGzD,CAAC;IAED,iCAAO,GAAP;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACH,sBAAC;AAAD,CAAC,AAXD,CAAwC,YAAY,GAWnD;AAXY,0CAAe"}
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAQb,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,iDAAgE;AAAvD,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AACtC,+CAAsE;AAA7D,2GAAA,WAAW,OAAA;AAAE,8GAAA,cAAc,OAAA;AACpC,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,4CAA0B;AAG1B,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAQb,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,iDAAgE;AAAvD,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AACtC,+CAAsE;AAA7D,2GAAA,WAAW,OAAA;AAAE,8GAAA,cAAc,OAAA;AACpC,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,4CAA0B;AAG1B,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
@@ -24,7 +24,7 @@ var QueryString = /** @class */ (function () {
24
24
  return url + separator + this._serializeQueryString(params);
25
25
  };
26
26
  QueryString.getParameter = function (name) {
27
- var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
27
+ var regex = new RegExp("[?&]".concat(name, "(=([^&#]*)|&|#|$)"));
28
28
  var match = regex.exec(window.location.href);
29
29
  if (match) {
30
30
  if (match[1].length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../src/query-string.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC;IAAA;IAmEA,CAAC;IAlEU,qBAAS,GAAhB,UAAiB,MAAW;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QACD,OAAO,GAAG,GAAG,UAAU,CAAC;IAC5B,CAAC;IAEM,kBAAM,GAAb,UAAc,GAAW,EAAE,MAAW;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,GAAG,CAAC;SACd;QACD,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAElC,OAAO,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAEM,wBAAY,GAAnB,UAAoB,IAAY;QAC5B,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,SAAO,IAAI,sBAAmB,CAAC,CAAC;QACzD,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;iBACI;gBACD,OAAO,IAAI,CAAC;aACf;SACJ;IACL,CAAC;IAEc,iCAAqB,GAApC,UAAqC,MAAW,EAAE,MAAe;QAC7D,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAM,YAAY,IAAI,MAAM,EAAE;YAC/B,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACrC,IAAM,GAAG,GAAG,MAAM,IAAI,IAAI;oBACtB,CAAC,CAAC,MAAM,GAAG,CACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBACjB,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,GAAG;wBAC9C,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAC/C;oBACD,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEnC,IAAI,KAAK,YAAY,gBAAQ,EAAE;oBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC7D;qBACI,IAAI,KAAK,KAAK,IAAI,EAAE;oBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACnB;qBACI,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;qBACtD;yBACI;wBACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrD;iBACJ;aACJ;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACL,kBAAC;AAAD,CAAC,AAnED,IAmEC;AAnEY,kCAAW"}
1
+ {"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../src/query-string.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC;IAAA;IAmEA,CAAC;IAlEU,qBAAS,GAAhB,UAAiB,MAAW;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QACD,OAAO,GAAG,GAAG,UAAU,CAAC;IAC5B,CAAC;IAEM,kBAAM,GAAb,UAAc,GAAW,EAAE,MAAW;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,GAAG,CAAC;SACd;QACD,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAElC,OAAO,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAEM,wBAAY,GAAnB,UAAoB,IAAY;QAC5B,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAO,IAAI,sBAAmB,CAAC,CAAC;QACzD,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;iBACI;gBACD,OAAO,IAAI,CAAC;aACf;SACJ;IACL,CAAC;IAEc,iCAAqB,GAApC,UAAqC,MAAW,EAAE,MAAe;QAC7D,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAM,YAAY,IAAI,MAAM,EAAE;YAC/B,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACrC,IAAM,GAAG,GAAG,MAAM,IAAI,IAAI;oBACtB,CAAC,CAAC,MAAM,GAAG,CACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBACjB,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,GAAG;wBAC9C,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAC/C;oBACD,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEnC,IAAI,KAAK,YAAY,gBAAQ,EAAE;oBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC7D;qBACI,IAAI,KAAK,KAAK,IAAI,EAAE;oBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACnB;qBACI,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;qBACtD;yBACI;wBACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrD;iBACJ;aACJ;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACL,kBAAC;AAAD,CAAC,AAnED,IAmEC;AAnEY,kCAAW"}
@@ -3,6 +3,8 @@ import { ProblemDetails } from './problem-details';
3
3
  export declare class HttpError extends Error {
4
4
  statusCode: number;
5
5
  private response;
6
+ private detailsPromise?;
7
+ get hasDetails(): boolean | undefined;
6
8
  constructor(statusCode: number, response?: HttpResponse | undefined);
7
9
  details<TDetails = ProblemDetails>(): Promise<TDetails>;
8
10
  }
@@ -17,7 +17,7 @@ var HttpError = /** @class */ (function (_super) {
17
17
  __extends(HttpError, _super);
18
18
  function HttpError(statusCode, response) {
19
19
  if (response === void 0) { response = undefined; }
20
- var _this = _super.call(this, "The response was not successful: " + statusCode) || this;
20
+ var _this = _super.call(this, "The response was not successful: ".concat(statusCode)) || this;
21
21
  _this.statusCode = statusCode;
22
22
  _this.response = response;
23
23
  _this.name = 'HttpError';
@@ -26,14 +26,21 @@ var HttpError = /** @class */ (function (_super) {
26
26
  Object.setPrototypeOf(_this, HttpError.prototype);
27
27
  return _this;
28
28
  }
29
+ Object.defineProperty(HttpError.prototype, "hasDetails", {
30
+ get: function () {
31
+ var _a, _b;
32
+ var contentType = (_b = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse) === null || _b === void 0 ? void 0 : _b.headers.get("Content-Type");
33
+ return contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/problem+json");
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
29
38
  HttpError.prototype.details = function () {
30
- var _a;
39
+ var _a, _b;
31
40
  var rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
32
- if (rawResponse) {
33
- var contentType = rawResponse.headers.get("Content-Type");
34
- if (contentType && contentType.includes("application/problem+json")) {
35
- return rawResponse.json().then(function (details) { return details; });
36
- }
41
+ if (rawResponse && this.hasDetails) {
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; });
37
44
  }
38
45
  return Promise.reject(new Error("There are no problem details in the response"));
39
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA;IAA+B,6BAAK;IAChC,mBAAmB,UAAkB,EAAU,QAA8C;QAA9C,yBAAA,EAAA,oBAA8C;QAA7F,YACI,kBAAM,sCAAoC,UAAY,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;IAED,2BAAO,GAAP;;QACI,IAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,IAAI,WAAW,EAAE;YACb,IAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;gBACjE,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAU,OAAO,EAAjB,CAAiB,CAAC,CAAC;aAChE;SACJ;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrF,CAAC;IACL,gBAAC;AAAD,CAAC,AAtBD,CAA+B,KAAK,GAsBnC"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;IAiCI,sBAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IACxC,CAAC;IAjCD,sBAAI,6BAAG;aAAP;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;;;OAAA;IAED,sBAAI,iCAAO;aAAX;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAKD,iDAA0B,GAA1B;QACI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,mBAAC;AAAD,CAAC,AA3CD,IA2CC;;AAED;IAAwC,mCAAY;IAChD,yBAAY,WAAqB,EAAU,OAA+C;QAA1F,YACI,kBAAM,WAAW,CAAC,SACrB;QAF0C,aAAO,GAAP,OAAO,CAAwC;;IAE1F,CAAC;IAED,iCAAO,GAAP;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACL,sBAAC;AAAD,CAAC,AARD,CAAwC,YAAY,GAQnD"}
1
+ {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;IAiCE,sBAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IAAG,CAAC;IAhC5C,sBAAI,6BAAG;aAAP;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAC9B,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACjC,CAAC;;;OAAA;IAED,sBAAI,iCAAO;aAAX;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACzD,CAAC;;;OAAA;IAIM,iDAA0B,GAAjC;QACE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACH,mBAAC;AAAD,CAAC,AA1CD,IA0CC;;AAED;IAAwC,mCAAY;IAClD,yBACE,WAAqB,EACb,OAA+C;QAFzD,YAIE,kBAAM,WAAW,CAAC,SACnB;QAHS,aAAO,GAAP,OAAO,CAAwC;;IAGzD,CAAC;IAED,iCAAO,GAAP;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACH,sBAAC;AAAD,CAAC,AAXD,CAAwC,YAAY,GAWnD"}
@@ -1,8 +1,7 @@
1
- export interface ProblemDetails {
1
+ export declare type ProblemDetails = {
2
2
  detail?: string;
3
- extensions?: any;
4
3
  instance?: string;
5
4
  status?: number;
6
5
  title?: string;
7
6
  type: string;
8
- }
7
+ } & Record<string, any>;
@@ -21,7 +21,7 @@ var QueryString = /** @class */ (function () {
21
21
  return url + separator + this._serializeQueryString(params);
22
22
  };
23
23
  QueryString.getParameter = function (name) {
24
- var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
24
+ var regex = new RegExp("[?&]".concat(name, "(=([^&#]*)|&|#|$)"));
25
25
  var match = regex.exec(window.location.href);
26
26
  if (match) {
27
27
  if (match[1].length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../src/query-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC;IAAA;IAmEA,CAAC;IAlEU,qBAAS,GAAhB,UAAiB,MAAW;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QACD,OAAO,GAAG,GAAG,UAAU,CAAC;IAC5B,CAAC;IAEM,kBAAM,GAAb,UAAc,GAAW,EAAE,MAAW;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,GAAG,CAAC;SACd;QACD,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAElC,OAAO,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAEM,wBAAY,GAAnB,UAAoB,IAAY;QAC5B,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,SAAO,IAAI,sBAAmB,CAAC,CAAC;QACzD,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;iBACI;gBACD,OAAO,IAAI,CAAC;aACf;SACJ;IACL,CAAC;IAEc,iCAAqB,GAApC,UAAqC,MAAW,EAAE,MAAe;QAC7D,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAM,YAAY,IAAI,MAAM,EAAE;YAC/B,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACrC,IAAM,GAAG,GAAG,MAAM,IAAI,IAAI;oBACtB,CAAC,CAAC,MAAM,GAAG,CACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBACjB,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,GAAG;wBAC9C,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAC/C;oBACD,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEnC,IAAI,KAAK,YAAY,QAAQ,EAAE;oBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC7D;qBACI,IAAI,KAAK,KAAK,IAAI,EAAE;oBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACnB;qBACI,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;qBACtD;yBACI;wBACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrD;iBACJ;aACJ;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACL,kBAAC;AAAD,CAAC,AAnED,IAmEC"}
1
+ {"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../src/query-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC;IAAA;IAmEA,CAAC;IAlEU,qBAAS,GAAhB,UAAiB,MAAW;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QACD,OAAO,GAAG,GAAG,UAAU,CAAC;IAC5B,CAAC;IAEM,kBAAM,GAAb,UAAc,GAAW,EAAE,MAAW;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,GAAG,CAAC;SACd;QACD,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAElC,OAAO,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAEM,wBAAY,GAAnB,UAAoB,IAAY;QAC5B,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAO,IAAI,sBAAmB,CAAC,CAAC;QACzD,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;iBACI;gBACD,OAAO,IAAI,CAAC;aACf;SACJ;IACL,CAAC;IAEc,iCAAqB,GAApC,UAAqC,MAAW,EAAE,MAAe;QAC7D,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAM,YAAY,IAAI,MAAM,EAAE;YAC/B,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACrC,IAAM,GAAG,GAAG,MAAM,IAAI,IAAI;oBACtB,CAAC,CAAC,MAAM,GAAG,CACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBACjB,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,GAAG;wBAC9C,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAC/C;oBACD,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEnC,IAAI,KAAK,YAAY,QAAQ,EAAE;oBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC7D;qBACI,IAAI,KAAK,KAAK,IAAI,EAAE;oBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACnB;qBACI,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;qBACtD;yBACI;wBACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrD;iBACJ;aACJ;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACL,kBAAC;AAAD,CAAC,AAnED,IAmEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utiliread/http",
3
- "version": "1.14.3",
3
+ "version": "1.15.2",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/esm/index.d.ts",
package/src/http-error.ts CHANGED
@@ -2,6 +2,13 @@ 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
+
7
+ get hasDetails() {
8
+ const contentType = this.response?.rawResponse?.headers.get("Content-Type");
9
+ return contentType?.includes("application/problem+json");
10
+ }
11
+
5
12
  constructor(public statusCode: number, private response: HttpResponse | undefined = undefined) {
6
13
  super(`The response was not successful: ${statusCode}`);
7
14
  this.name = 'HttpError';
@@ -14,11 +21,9 @@ export class HttpError extends Error {
14
21
  details<TDetails = ProblemDetails>() {
15
22
  const rawResponse = this.response?.rawResponse;
16
23
 
17
- if (rawResponse) {
18
- const contentType = rawResponse.headers.get("Content-Type");
19
- if (contentType && contentType.includes("application/problem+json")) {
20
- return rawResponse.json().then(details => <TDetails>details);
21
- }
24
+ if (rawResponse && this.hasDetails) {
25
+ this.detailsPromise ??= rawResponse.json().then(details => <ProblemDetails>details);
26
+ return this.detailsPromise.then(details => <TDetails>details);
22
27
  }
23
28
 
24
29
  return Promise.reject(new Error("There are no problem details in the response"));
@@ -1,8 +1,7 @@
1
- export interface ProblemDetails {
1
+ export type ProblemDetails = {
2
2
  detail?: string;
3
- extensions?: any;
4
3
  instance?: string;
5
4
  status?: number;
6
5
  title?: string;
7
6
  type: string;
8
- }
7
+ } & Record<string, any>;