NewsBlur/node/newsblur.coffee

54 lines
1.5 KiB
CoffeeScript
Raw Normal View History

2021-03-17 09:31:19 -04:00
Sentry = require "@sentry/node"
Tracing = require "@sentry/tracing"
app = require('express')()
2021-03-16 20:07:46 -04:00
server = require('http').createServer(app)
log = require './log.js'
envresult = require('dotenv').config({path: 'node/.env'})
2021-03-17 09:31:19 -04:00
if envresult.error
# throw envresult.error
envresult = require('dotenv').config()
if envresult.error
throw envresult.error
2021-03-17 09:43:25 -04:00
ENV_DEV = process.env.NODE_ENV == 'development'
ENV_PROD = process.env.NODE_ENV == 'production'
ENV_DOCKER = process.env.NODE_ENV == 'docker'
original_page = require('./original_page.js').original_page
original_text = require('./original_text.js').original_text
favicons = require('./favicons.js').favicons
unread_counts = require('./unread_counts.js').unread_counts
2021-03-17 09:43:25 -04:00
if not ENV_DEV and not ENV_PROD and not ENV_DOCKER
throw new Error("Set envvar NODE_ENV=<development,docker,production>")
2021-03-17 09:43:25 -04:00
if ENV_PROD
Sentry.init({
dsn: process.env.SENTRY_DSN,
integrations: [
new Sentry.Integrations.Http({ tracing: true }),
new Tracing.Integrations.Express({
app
})
],
tracesSampleRate: 1.0
})
2021-03-17 09:43:25 -04:00
app.use(Sentry.Handlers.requestHandler())
app.use(Sentry.Handlers.tracingHandler())
original_page(app)
original_text(app)
favicons(app)
unread_counts(server)
2021-03-17 09:43:25 -04:00
if ENV_PROD
app.get "/debug", (req, res) ->
throw new Error("Debugging Sentry")
2021-03-17 09:43:25 -04:00
app.use(Sentry.Handlers.errorHandler())
log.debug "Setitng up Sentry debugging: #{process.env.SENTRY_DSN.substr(0, 20)}..."
log.debug "Starting NewsBlur Node Server: #{process.env.SERVER_NAME}"
2021-03-16 20:07:46 -04:00
server.listen(8008)