| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * decaffeinate suggestions:
- * DS102: Remove unnecessary code created because of implicit returns
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- const Metrics = require('metrics-sharelatex')
- Metrics.initialize('contacts')
- const Settings = require('settings-sharelatex')
- const logger = require('logger-sharelatex')
- const express = require('express')
- const bodyParser = require('body-parser')
- const Errors = require('./app/js/Errors')
- const HttpController = require('./app/js/HttpController')
- logger.initialize('contacts')
- if (Metrics.event_loop != null) {
- Metrics.event_loop.monitor(logger)
- }
- const app = express()
- app.use(Metrics.http.monitor(logger))
- Metrics.injectMetricsRoute(app)
- app.get('/user/:user_id/contacts', HttpController.getContacts)
- app.post(
- '/user/:user_id/contacts',
- bodyParser.json({ limit: '2mb' }),
- HttpController.addContact
- )
- app.get('/status', (req, res) => res.send('contacts is alive'))
- app.use(function(error, req, res, next) {
- logger.error({ err: error }, 'request errored')
- if (error instanceof Errors.NotFoundError) {
- return res.send(404)
- } else {
- return res.send(500, 'Oops, something went wrong')
- }
- })
- const { port } = Settings.internal.contacts
- const { host } = Settings.internal.contacts
- if (!module.parent) {
- // Called directly
- app.listen(port, host, function(error) {
- if (error != null) {
- throw error
- }
- return logger.info(`contacts starting up, listening on ${host}:${port}`)
- })
- }
- module.exports = app
|