@forge/kvs

1.5.1-next.01.6.0-next.1
out/utils/error-handling.js
~out/utils/error-handling.jsModified
+14−7
Index: package/out/utils/error-handling.js
===================================================================
--- package/out/utils/error-handling.js
+++ package/out/utils/error-handling.js
@@ -1,7 +1,7 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.checkResponseError = exports.extractTraceId = exports.safeGetParsedBody = exports.isForgeError = void 0;
+exports.checkResponseError = exports.extractTraceId = exports.getAPIErrorResponseDetails = exports.safeGetParsedBody = exports.isForgeError = void 0;
 const errors_1 = require("../errors");
 function isForgeError(body) {
     return typeof body === 'object' && body !== null && 'code' in body && 'message' in body;
 }
@@ -14,22 +14,29 @@
         return undefined;
     }
 }
 exports.safeGetParsedBody = safeGetParsedBody;
+function getAPIErrorResponseDetails(response, responseText, requestContext) {
+    return {
+        status: response.status,
+        statusText: response.statusText,
+        traceId: extractTraceId(response),
+        httpMethod: requestContext?.httpMethod,
+        httpPath: requestContext?.httpPath,
+        responseBodyLength: responseText.length
+    };
+}
+exports.getAPIErrorResponseDetails = getAPIErrorResponseDetails;
 function extractTraceId(response) {
     return response.headers.get('x-b3-traceid') || response.headers.get('x-trace-id');
 }
 exports.extractTraceId = extractTraceId;
-async function checkResponseError(response) {
+async function checkResponseError(response, requestContext) {
     if (response.ok) {
         return;
     }
     const responseText = await response.text();
-    const details = {
-        status: response.status,
-        statusText: response.statusText,
-        traceId: extractTraceId(response)
-    };
+    const details = getAPIErrorResponseDetails(response, responseText, requestContext);
     const parsedBody = safeGetParsedBody(responseText);
     if (parsedBody && isForgeError(parsedBody)) {
         throw new errors_1.ForgeKvsAPIError(details, parsedBody);
     }