@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)