-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
66 lines (55 loc) · 1.87 KB
/
app.js
File metadata and controls
66 lines (55 loc) · 1.87 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
require("dotenv").config();
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
const Sentry = require("@sentry/node");
const Tracing = require("@sentry/tracing");
const io = require("@pm2/io");
const { name } = require("./package.json");
const currentReqs = io.counter({
name: "Errors",
id: "errorCounter1",
unit: "error"
});
if (process.env.npm_lifecycle_script == "nodemon app.js") {
process.env.NODE_ENV = "development";
} else if (process.env.npm_lifecycle_script == "node .") {
process.env.NODE_ENV = "development";
} else {
process.env.NODE_ENV = "production";
}
Sentry.init({
dsn: process.env.SENTRY_ENDPOINT,
environment: process.env.NODE_ENV,
release: name + "@" + process.env.npm_package_version,
integrations: [
new Sentry.Integrations.Http({ tracing: true }),
new Tracing.Integrations.Express({ app }),
],
tracesSampleRate: 1.0,
debug: process.env.NODE_ENV == "development" ? true : false,
});
app.use(Sentry.Handlers.requestHandler({ ip: true }));
app.use(Sentry.Handlers.tracingHandler());
const cors = require("cors");
app.use(cors());
app.get('/',function(req, res) {
res.sendFile(__dirname + '/index.html');
});
app.get("/debug-sentry", function mainHandler(req, res) {
throw new Error("My first Sentry error!");
});
const v1Routes = require('./src/api/v1/Routes');
const v2Routes = require('./src/api/v2/Routes');
const { SentryError } = require("./SentryError");
app.use('/api/v1', v1Routes);
app.use('/api/v2', v2Routes);
app.use(Sentry.Handlers.errorHandler());
app.use(function onError(err, req, res, next) {
res.status(500).end(`Error ID: ${res.sentry}` + "\n" + `Error Details: ${err}`);
});
app.listen(PORT, () => console.log(`API Démarré sur le port: ${PORT}`));
process.on("unhandledRejection", (err) => {
currentReqs.inc();
throw new SentryError(err);
});