// testing : // https://mariadb.com/kb/en/nodejs-connector/ 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 = "nodeapi", DB_PWD = "RDSGF435FG", DB_NAME = "nodeapi"; const mariadb = require('mariadb'); const pool = mariadb.createPool({ host: DB_HOST, port: DB_PORT, user: DB_USR, password:DB_PWD, database: DB_NAME, connectionLimit: 5, }); //const server = http.createServer(function (req, resp) { const app = http.createServer ( async (req, res) => { const parsedURL = url.parse(req.url, true); var response_text = ""; if(req.method === 'GET' && parsedURL.pathname.startsWith('/api/tables')) { console.log('requesting table list'); var cnx = null; try { cnx=await pool.getConnection(); const tables_res = await cnx.query("SHOW TABLES"); console.log(tables_res); response_text += tables_res.length+" table"+(tables_res.length>1?"s":"")+" found"; //console.log(response_text); if(tables_res.length > 0) { Object.keys(tables_res).forEach(function(key) { if(key !== 'meta') { var row=tables_res[key]; response_text+= "\n - "+row['Tables_in_'+DB_NAME]; } }); } } catch(err) { throw(err); } finally { res.statusCode = 200; res.end(response_text); if(cnx) { return cnx.end(); } } } else { res.statusCode = 400; res.end("API Endpoint Not Supported"); } } ); app.listen(BASIC_API_PORT); console.log('mariadb test api started');