@forge/kvs

1.4.1-next.01.5.0-next.1
out/storage-api.js
~out/storage-api.jsModified
+13−5
Index: package/out/storage-api.js
===================================================================
--- package/out/storage-api.js
+++ package/out/storage-api.js
@@ -125,14 +125,22 @@
         const responseText = await response.text();
         if (responseType === ResponseType.OPTIONAL && !responseText) {
             return undefined;
         }
-        try {
-            return JSON.parse(responseText);
+        const parsedBody = (0, error_handling_1.safeGetParsedBody)(responseText);
+        if (parsedBody === undefined) {
+            const details = {
+                status: response.status,
+                statusText: response.statusText,
+                traceId: (0, error_handling_1.extractTraceId)(response)
+            };
+            throw new errors_1.ForgeKvsAPIError(details, {
+                code: 'UNKNOWN_ERROR',
+                message: 'Unexpected error in Forge KVS API. Response was not valid JSON',
+                context: { contentLength: response.headers.get('content-length') }
+            });
         }
-        catch (error) {
-            throw new errors_1.ForgeKvsError(`Unexpected error. Response was not valid JSON: ${responseText}`);
-        }
+        return parsedBody;
     }
     processGetResponse(response, options) {
         if (response && options) {
             const maybeCreatedAt = options.metadataFields?.includes(types_1.MetadataField.CREATED_AT)