From 7875671cbbbd1d248faedabd58c0a61dc886ec26 Mon Sep 17 00:00:00 2001 From: Shaun Hamilton Date: Thu, 19 Oct 2023 13:20:47 +0200 Subject: [PATCH] chore(stock-price-checker): check input --- apps/stock-price-checker/controllers/stockHandler.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/stock-price-checker/controllers/stockHandler.js b/apps/stock-price-checker/controllers/stockHandler.js index 036ebd2ae..02ba1bd8a 100644 --- a/apps/stock-price-checker/controllers/stockHandler.js +++ b/apps/stock-price-checker/controllers/stockHandler.js @@ -12,6 +12,10 @@ const request = require('request'); function StockHandler() { this.getData = function(stock, callback) { + if (!isValidStock(stock)) { + callback('stockData', { error: 'invalid symbol' }); + return; + } request( `https://stock-price-checker-proxy.freecodecamp.rocks/v1/stock/${stock}/quote`, function(error, response, body) { @@ -68,4 +72,10 @@ function StockHandler() { }; } +const validTickerRegExp = /^[a-z]{1,6}$/; +const isValidStock = (stock) => { + const stockL = stock.toLowerCase().trim(); + validTickerRegExp.test(stockL); +} + module.exports = StockHandler;