-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
48 lines (38 loc) · 1.3 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
"use strict";
const restify = require("restify");
const components = require("./components");
const eventConsumer = require("commons/event-consumer");
components.init().then(comp => {
const config = comp.config;
const services = require("./services");
const log = comp.logger;
if (config.port && config.email_transport) {
let server = restify.createServer({
name: "pusher"
});
server.use(restify.queryParser());
server.use(restify.bodyParser());
server.use(restify.requestLogger());
server.get("/healthcheck", (req, res) => res.send(200));
server.post("/v1/internal/send_email", (req, res, next) => {
try {
services.sendEmail(req.params)
.then(() => res.send(200))
.catch(next);
} catch (err) {
next(err);
}
});
server.listen(comp.config.port, () => {
log.info(`listen http port ${comp.config.port}`);
});
}
if (config.queue) {
let eventHandler = require("./extra");
const errorHandler = error => {
log.error(error);
};
eventConsumer(config, eventHandler, errorHandler);
log.info(`listen events from ${config.queue}`);
}
});