overleaf/services/spelling/app/js/server.js

28 lines
894 B
JavaScript
Raw Normal View History

import metrics from '@overleaf/metrics'
import Settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import express from 'express'
import bodyParser from 'body-parser'
import * as SpellingAPIController from './SpellingAPIController.js'
import * as HealthCheckController from './HealthCheckController.js'
logger.initialize('spelling')
if (Settings.sentry?.dsn != null) {
logger.initializeErrorReporting(Settings.sentry.dsn)
}
metrics.memory.monitor(logger)
metrics.leaked_sockets.monitor(logger)
metrics.open_sockets.monitor()
export const app = express()
metrics.injectMetricsRoute(app)
app.use(bodyParser.json({ limit: '2mb' }))
app.use(metrics.http.monitor(logger))
app.post('/user/:user_id/check', SpellingAPIController.check)
app.get('/status', (req, res) => res.send({ status: 'spelling api is up' }))
app.get('/health_check', HealthCheckController.healthCheck)