-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainServidorREST.js
More file actions
69 lines (58 loc) · 2.25 KB
/
mainServidorREST.js
File metadata and controls
69 lines (58 loc) · 2.25 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
67
68
69
// .....................................................................
// Autor: Santiago Pérez
// Fecha inicio: 07/12/2019
// Ultima actualización: 07/09/2020
// mainServidorREST.js
// .....................................................................
// .....................................................................
// .....................................................................
const express = require( 'express' )
const bodyParser = require( 'body-parser' )
const Logica = require( "./logica.js" )
const cors = require('cors');
const port = process.env.PORT || 8080;
// .....................................................................
// .....................................................................
function cargarLogica( fichero ) {
return new Promise( (resolver, rechazar) => {
var laLogica = new Logica( fichero,
function( err ) {
if ( err ) {
rechazar( err )
} else {
resolver( laLogica )
}
}) // new
}) // Promise
} // ()
// .....................................................................
// main()
// .....................................................................
async function main() {
var laLogica = await cargarLogica( "./bd/datos.db" );
// creo el servidor
var servidorExpress = express();
servidorExpress.use(cors({credentials: true, origin: true}));
// para poder acceder a la carga de la petición http
// asumiendo que es JSON
servidorExpress.use (
bodyParser.text({type: 'application/json'})
);
// cargo las reglas REST
var reglas = require( "./ReglasREST.js");
reglas.cargar( servidorExpress, laLogica );
// arranco el servidor
var servicio = servidorExpress.listen(port, function() {
console.log( "servidor REST escuchando en el puerto 8080 ");
})
// capturo control-c para cerrar el servicio ordenadamente
process.on('SIGINT', function() {
console.log (" terminando ");
servicio.close();
})
} // ()
// .....................................................................
// .....................................................................
main();
// .....................................................................
// .....................................................................