Merge pull request #156 from ets-cfuhrman-pfe/ssl-changes

Don't make an HTTPS server, but configure sockets.io to use secure sockets
This commit is contained in:
Christopher (Cris) Fuhrman 2024-10-29 10:12:42 -04:00 committed by GitHub
commit c8f9c5470c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 18 deletions

View file

@ -246,7 +246,7 @@ class ApiService {
const result: AxiosResponse = await axios.post(url, body, { headers: headers });
if (result.status !== 200) {
throw new Error(`La supression du compte a échoué. Status: ${result.status}`);
throw new Error(`La suppression du compte a échoué. Status: ${result.status}`);
}
return true;
@ -328,7 +328,8 @@ class ApiService {
if (axios.isAxiosError(error)) {
const err = error as AxiosError;
const data = err.response?.data as { error: string } | undefined;
return data?.error || 'Erreur serveur inconnue lors de la requête.';
const url = err.config?.url || 'URL inconnue';
return data?.error || `Erreur serveur inconnue lors de la requête (${url}).`;
}
return `Une erreur inattendue s'est produite.`

View file

@ -1,8 +1,7 @@
// Import API
const express = require("express");
const http = require("http");
const https = require("https");
const dotenv = require('dotenv')
const dotenv = require('dotenv');
// Import Sockets
const { setupWebsocket } = require("./socket/socket");
@ -40,7 +39,7 @@ module.exports.images = imagesControllerInstance;
const userRouter = require('./routers/users.js');
const folderRouter = require('./routers/folders.js');
const quizRouter = require('./routers/quiz.js');
const imagesRouter = require('./routers/images.js')
const imagesRouter = require('./routers/images.js');
// Setup environment
dotenv.config();
@ -51,7 +50,7 @@ const app = express();
const cors = require("cors");
const bodyParser = require('body-parser');
const configureServer = (httpServer) => {
const configureServer = (httpServer, isDev) => {
return new Server(httpServer, {
path: "/socket.io",
cors: {
@ -59,18 +58,16 @@ const configureServer = (httpServer) => {
methods: ["GET", "POST"],
credentials: true,
},
secure: !isDev, // true for https, false for http
});
};
// Start sockets (depending on the dev or prod environment)
let server;
if (process.env.NODE_ENV === 'development') {
console.log('Démarrage en mode dev');
server = http.createServer(app);
} else {
console.log('Démarrage en mode prod');
server = https.createServer(app);
}
let server = http.createServer(app);
let isDev = process.env.NODE_ENV === 'development';
console.log(`Environnement: ${process.env.NODE_ENV} (${isDev ? 'dev' : 'prod'})`);
const io = configureServer(server);
setupWebsocket(io);
@ -84,22 +81,20 @@ app.use('/api/folder', folderRouter);
app.use('/api/quiz', quizRouter);
app.use('/api/image', imagesRouter);
app.use(errorHandler)
app.use(errorHandler);
// Start server
async function start() {
const port = process.env.PORT || 4400;
// Check DB connection
await db.connect()
await db.connect();
db.getConnection();
console.log(`Connexion MongoDB établie`);
server.listen(port, () => {
console.log(`Serveur écoutant sur le port ${port}`);
});
}
start();