micro-image-manager
Version:
Manage images in your microservices
44 lines (34 loc) • 1.23 kB
JavaScript
;
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));