From 5791b6c4f80261d2bd4a4de8530a61ef5093473f Mon Sep 17 00:00:00 2001 From: Chessing234 Date: Sun, 17 May 2026 07:20:13 +0530 Subject: [PATCH] fix(backpack-api): reject with response.statusCode (response.status is undefined) All four backpack xhr callbacks branch on 'response.statusCode !== 200' but then call 'reject(new Error(response.status))'. The xhr npm package exposes the HTTP code as 'statusCode', not 'status', so every rejection surfaced an Error whose message was the literal string 'undefined', hiding the actual failure code from callers/logging. Switch the error constructor to use 'response.statusCode' to match the check on the same line. --- src/lib/backpack-api.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/backpack-api.js b/src/lib/backpack-api.js index 37a0aded036..b291266f760 100644 --- a/src/lib/backpack-api.js +++ b/src/lib/backpack-api.js @@ -26,7 +26,7 @@ const getBackpackContents = ({ json: true }, (error, response) => { if (error || response.statusCode !== 200) { - return reject(new Error(response.status)); + return reject(new Error(response.statusCode)); } return resolve(response.body.map(item => includeFullUrls(item, host))); }); @@ -49,7 +49,7 @@ const saveBackpackObject = ({ json: {type, mime, name, body, thumbnail} }, (error, response) => { if (error || response.statusCode !== 200) { - return reject(new Error(response.status)); + return reject(new Error(response.statusCode)); } return resolve(includeFullUrls(response.body, host)); }); @@ -67,7 +67,7 @@ const deleteBackpackObject = ({ headers: {'x-token': token} }, (error, response) => { if (error || response.statusCode !== 200) { - return reject(new Error(response.status)); + return reject(new Error(response.statusCode)); } return resolve(response.body); }); @@ -78,7 +78,7 @@ const deleteBackpackObject = ({ const fetchAs = (responseType, uri) => new Promise((resolve, reject) => { xhr({uri, responseType}, (error, response) => { if (error || response.statusCode !== 200) { - return reject(new Error(response.status)); + return reject(new Error(response.statusCode)); } return resolve(response.body); });