UNPKG

micro-image-manager

Version:

Manage images in your microservices

44 lines (34 loc) 1.23 kB
#!/usr/bin/env node "use strict"; var _process$env$MONGO_UR, _process$env$HTTP_POR; const http = require('http'); const getImage = require('./handler/get-image'); const addImage = require('./handler/add-image'); const Db = require('./service/db'); const { initData } = require('./util/init-util'); const mongodbUrl = (_process$env$MONGO_UR = process.env['MONGO_URL']) != null ? _process$env$MONGO_UR : 'mongodb://localhost:27017/image-manager'; const httpPort = (_process$env$HTTP_POR = process.env['HTTP_PORT']) != null ? _process$env$HTTP_POR : 8700; const requestListener = db => async (req, res) => { if (/\/image\/[0-9a-z_]+/.test(req.url)) { getImage(req, res, db); } else if (req.url === '/api/v1/images') { addImage(req, res, db); } else { res.writeHead(404); return res.end(JSON.stringify({ status: 404, error: `'${req.url}' does not exist` })); } }; const main = async () => { const db = new Db(mongodbUrl); const connectedDb = await db.connect(); await initData(connectedDb); const server = http.createServer(requestListener(connectedDb)); await server.listen(httpPort); console.log(`Server ready at ${httpPort}`); }; main().catch(err => console.error(err));