diff --git a/src/backend/web/routes/index.js b/src/backend/web/routes/index.js index 3932085567..b18f13db84 100644 --- a/src/backend/web/routes/index.js +++ b/src/backend/web/routes/index.js @@ -11,11 +11,17 @@ const planet = require('./planet'); const posts = require('./posts'); const stats = require('./stats'); const user = require('./user'); +const query = require('./query'); const router = express.Router(); router.use(express.static(path.join(__dirname, '../../../frontend/public'))); +router.get('/', (req, res) => { + res.send('hi'); + console.log('hi'); +}); + // Legacy CDOT Planet static assets router.use('/legacy', express.static(path.join(__dirname, '../planet/static'))); @@ -27,5 +33,6 @@ router.use('/planet', planet); router.use('/posts', posts); router.use('/stats', stats); router.use('/user', user); +router.use('/query', query); module.exports = router; diff --git a/src/backend/web/routes/query.js b/src/backend/web/routes/query.js new file mode 100644 index 0000000000..3afd26818a --- /dev/null +++ b/src/backend/web/routes/query.js @@ -0,0 +1,15 @@ +const express = require('express'); + +const { logger } = require('../../utils/logger'); + +const router = express.Router(); + +router.get('/', (req, res) => { + // Github rule, query is more than 256 chars or contains more than 5 operators + // return a validation failed message + if (req.query.q.length > 256 || req.query.q.match(/&& | \|\| | !/g).length > 5) { + res.send('Validation failed'); + } +}); + +module.exports = router;