From d38746dcbd5ca4807ea006ccb39befeda00e08f5 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Mon, 8 Mar 2021 17:03:44 -0800 Subject: [PATCH] fix(error handling): Replacing improper 429 with 400 --- src/routes/v4/blockbook.js | 6 +++--- src/routes/v4/electrumx.js | 12 ++++++------ src/routes/v4/slp.js | 10 +++++----- src/routes/v4/util.js | 2 +- test/v4/a01-electrumx.js | 8 ++++---- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/routes/v4/blockbook.js b/src/routes/v4/blockbook.js index 1ef0983..35d96a9 100644 --- a/src/routes/v4/blockbook.js +++ b/src/routes/v4/blockbook.js @@ -169,7 +169,7 @@ class Blockbook { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -333,7 +333,7 @@ class Blockbook { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -472,7 +472,7 @@ class Blockbook { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, txids)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) diff --git a/src/routes/v4/electrumx.js b/src/routes/v4/electrumx.js index cfa324b..5115925 100644 --- a/src/routes/v4/electrumx.js +++ b/src/routes/v4/electrumx.js @@ -284,7 +284,7 @@ class Electrum { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -470,7 +470,7 @@ class Electrum { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, txids)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ success: false, error: 'Array too large.' @@ -726,7 +726,7 @@ class Electrum { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, heights)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ success: false, error: 'Array too large.' @@ -895,7 +895,7 @@ class Electrum { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -1088,7 +1088,7 @@ class Electrum { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -1281,7 +1281,7 @@ class Electrum { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) diff --git a/src/routes/v4/slp.js b/src/routes/v4/slp.js index c417797..b7bc984 100644 --- a/src/routes/v4/slp.js +++ b/src/routes/v4/slp.js @@ -215,7 +215,7 @@ class Slp { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, tokenIds)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -545,7 +545,7 @@ class Slp { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -914,7 +914,7 @@ class Slp { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -975,7 +975,7 @@ class Slp { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, txids)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) @@ -1403,7 +1403,7 @@ class Slp { // Enforce array size rate limits if (!_this.routeUtils.validateArraySize(req, txids)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) diff --git a/src/routes/v4/util.js b/src/routes/v4/util.js index a50ee24..7862aad 100644 --- a/src/routes/v4/util.js +++ b/src/routes/v4/util.js @@ -141,7 +141,7 @@ class UtilRoute { // Enforce array size rate limits if (!routeUtils.validateArraySize(req, addresses)) { - res.status(429) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 + res.status(400) // https://github.com/Bitcoin-com/rest.bitcoin.com/issues/330 return res.json({ error: 'Array too large.' }) diff --git a/test/v4/a01-electrumx.js b/test/v4/a01-electrumx.js index ce93947..65119cf 100644 --- a/test/v4/a01-electrumx.js +++ b/test/v4/a01-electrumx.js @@ -594,7 +594,7 @@ describe('#Electrumx', () => { assert.isArray(result.transactions) }) - it('should throw 429 error if txid array is too large', async () => { + it('should throw 400 error if txid array is too large', async () => { const testArray = [] for (var i = 0; i < 25; i++) testArray.push('') @@ -603,7 +603,7 @@ describe('#Electrumx', () => { const result = await electrumxRoute.transactionDetailsBulk(req, res) // console.log(`result: ${util.inspect(result)}`) - expectRouteError(res, result, 'Array too large', 429) + expectRouteError(res, result, 'Array too large', 400) }) it('should get details for a single txid', async () => { @@ -841,7 +841,7 @@ describe('#Electrumx', () => { assert.isArray(result.headers) }) - it('should throw 429 error if heights array is too large', async () => { + it('should throw 400 error if heights array is too large', async () => { const testArray = [] for (var i = 0; i < 25; i++) testArray.push('') @@ -849,7 +849,7 @@ describe('#Electrumx', () => { const result = await electrumxRoute.blockHeadersBulk(req, res) - expectRouteError(res, result, 'Array too large', 429) + expectRouteError(res, result, 'Array too large', 400) }) it('should get details for a single height', async () => {