// testing : // https://www.npmjs.com/package/mysql const http = require ('http'); // to create server const url = require('url'); // to parse url const BASIC_API_PORT = 3998; const DB_HOST = "127.0.0.1", DB_PORT = "3306", DB_USR = "root", DB_PWD = "root", DB_NAME = "nodeapi"; const mysql = require('mysql'); const pool = mysql.createPool({ host: DB_HOST, port: DB_PORT, user: DB_USR, password:DB_PWD, database: DB_NAME, connectionLimit: 5, }); response_text = ''; const app = http.createServer( async (req, res) => { const parsedURL = url.parse(req.url, true); if (req.method === 'GET' && parsedURL.pathname.startsWith('/api/tables')) { console.log('requesting table list'); pool.getConnection(function (err, conn) { conn.query("SHOW tables", function (err, rows) { console.log(rows); response_text += rows.length + " table" + (rows.length > 1 ? "s" : "") + " found"; //console.log(response_text); if(rows.length > 0) { Object.keys(rows).forEach(function(key) { if(key !== 'meta') { var row=rows[key]; response_text+= "\n - "+row['Tables_in_'+DB_NAME]; } }); } }); res.statusCode = 200; res.end(response_text); response_text =""; }); } else { res.statusCode = 400; res.end("API Endpoint Not Supported"); } } ); app.listen(BASIC_API_PORT); console.log('mysql test api started');