-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
129 lines (102 loc) · 4.03 KB
/
server.js
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// server.js
//import { ProceduralRenderer3 } from '@angular/core/src/render3/interfaces/renderer';
var fs = require('fs');
var http = require('http');
//var https = require('https');
var cors = require('cors');
//Avec clé privée et son mot de passe
// var options = {
// key: fs.readFileSync('ca.key', 'utf8'),
// cert: fs.readFileSync('ca.crt', 'utf8'),
// passphrase: 'Rickan1234'
// };
// NE MARCHERA QUE SI ON A UN NOM DE DOMAINE A NOUS.
//ICI LE CA_SPP.KEY sera le fichier de notre clé.
//ClecerCloud fournit deja le TLS pour les domaines cleverapps.io
//Pour du SSL CleverCloud il faudra transmettre les certificats intermédiaires et la clé privée à CleverCloud :*
//https://api.clever-cloud.com/v2/certificates/new
//LEs certificats intermédiaires sont données pour l'porganisme de cettif a qui on déclare le nom de domaine.
//On leur donne notre clé privée qui eux signeront et nous donneront en retour ce fameux certificat intémédiare
// var options = {
// key: fs.readFileSync('ca_spp.key', 'utf8'),
// cert: fs.readFileSync('ca.crt', 'utf8')
// };
var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
var app = express();
// Parsers
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Angular DIST output folder
app.use(express.static(path.join(__dirname, 'dist')));
//Premuni de "Cannot GET /bienvenue" ou autre lien....
app.use(function(req, res) {
res.sendFile(path.join(__dirname, '/dist', 'index.html'));
});
// OU
//console.log(app.routes);
//
//app.get('*', app.routes.index);
//// serve index and view partials
// app.get('/', routes.index);
// // redirect all others to the index (HTML5 history)
// app.get('*', routes.index);
//app.get('/', function (req, res) { res.redirect('/dist/index.html') });
//Gestion du CORS
//Dans le cas d'une execution de Angular sur un serveur différent du BackEnd !
// app.use(function (req, res, next) {
// //res.setHeader('Access-Control-Allow-Origin', req.headers.origin);
// res.setHeader('Access-Control-Allow-Origin', '*');
// res.setHeader('Access-Control-Allow-Headers', 'X-Auth-Token, Content-Type, X-Requested-With, Accept, Origin, Authorization, Access-Control-Request-Method, Access-Control-Request-Headers');
// res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, PATCH, DELETE, OPTIONS');
// next();
// });
//Gestion du CORS
//Dans le cas d'une execution de Angular sur un serveur différent du BackEnd !
// app.use(function(req, res, next) {
// var oneof = false;
// if(req.headers.origin) {
// res.header('Access-Control-Allow-Origin', req.headers.origin);
// oneof = true;
// }
// if(req.headers['access-control-request-method']) {
// res.header('Access-Control-Allow-Methods', req.headers['access-control-request-method']);
// oneof = true;
// }
// if(req.headers['access-control-request-headers']) {
// res.header('Access-Control-Allow-Headers', req.headers['access-control-request-headers']);
// oneof = true;
// }
// if(oneof) {
// res.header('Access-Control-Max-Age', 60 * 60 * 24 * 365);
// }
// // intercept OPTIONS method
// if (oneof && req.method == 'OPTIONS') {
// res.send(200);
// }
// else {
// next();
// }
// });
//Gestion du CORS
//Dans le cas d'une execution de Angular sur un serveur différent du BackEnd !
// var corsOptions = {
// origin: 'http://app-28286c7a-6571-43b1-96b0-6352d129ffdd.cleverapps.io/devoirsfaits',
// credentials: true,
// optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
// }
var corsOptions = {
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE, OPTIONS",
"preflightContinue": false,
"credentials": true
}
app.use(cors(corsOptions));
// your express configuration here
var httpServer = http.createServer(app);
//var httpsServer = https.createServer(options, app);
// Start the app by listening on the default
// CleverCloud or Heroku port
httpServer.listen(process.env.PORT || 80);
//httpsServer.listen(8443);