-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathserver.js
137 lines (108 loc) · 3.61 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
/*1.- obtenemos un objeto que no permita usar la libreria express*/
var express = require("express");
var nunjucks = require("nunjucks");
var bodyParser = require("body-parser");
/* librerias para el chat */
var socketio = require("socket.io");
var sanitizer = require("sanitizer");
var http = require("http");
var app = express();/* servidor sencillo */
var servidor = http.createServer(app); /*servidor http que es mas robusto */
//obtenemos el puerto
var PUERTO = 8010, HOST="127.0.0.1";
if(process.env.OPENSHIFT_NODEJS_PORT){
PUERTO = process.env.OPENSHIFT_NODEJS_PORT;
HOST = process.env.OPENSHIFT_NODEJS_IP;
}
servidor.listen(PUERTO, HOST);
console.log("servidor levantado...");
/*configurar el sistema de templates*/
nunjucks.configure(__dirname + "/vistas",{
express:app
});
console.log("sistema de templates configurado..");
/* usar body parser para recibir parametros del cliente*/
app.use(bodyParser());
/*configurar rutas estaicas*/
app.use("/css", express.static(__dirname + "/css"));
app.use("/imagenes", express.static(__dirname + "/imagenes"));
app.use("/javascript", express.static(__dirname + "/javascript"));
app.use("/videos", express.static(__dirname + "/videos"));
console.log("rutas estaicas configuradas ..");
/*responder a peticiones get*/
/* http://127.0.0.1:8010/ */
app.get("/", function(request, response){
response.render("index.html");
});
/* http://127.0.0.1:8010/ */
app.get("/home", function(request, response){
response.render("index.html");
});
app.get("/inicio-contenido", function(request, response){
response.render("index_contenido.html");
});
/* http://127.0.0.1:8010/ */
app.get("/galeria", function(request, response){
response.render("galeria.html");
});
app.get("/galeria-contenido", function(request, response){
response.render("galeria_contenido.html");
});
app.get("/contacto", function(request, response){
response.render("contacto.html");
});
app.get("/contacto-contenido", function(request, response){
response.render("contacto_contenido.html");
});
app.get("/chat", function(request, response){
response.render("chat.html");
});
app.get("/chat-contenido", function(request, response){
response.render("chat_contenido.html");
});
app.get("/ubicacion", function(request, response){
response.render("ubicacion.html");
});
app.get("/ubicacion-contenido", function(request, response){
response.render("ubicacion_contenido.html");
});
/*Responder a una peticion post*/
app.post("/suscribir",function(request, response){
var correo = request.body.email;
console.log("Email " + correo);
response.render("suscribir.html",{
email: correo,
mensaje: "Hola Cliente"
});
});
app.post("/contactar",function(request, response){
var nombre = request.body.nombre;
var esAjax = request.body.esAjax;
var idVista = "contactar.html";
if(esAjax){
idVista = "contactar_contenido.html";
}
var comentario = request.body.comentario;
response.render(idVista,{
nombreCliente: nombre,
comentarioCliente: comentario
});
});
/* Chat */
/* obtener un socket para comunicarme con todos */
var io = socketio.listen(servidor);
/* escuchar peticiones de todos los clientes */
io.sockets.on("connection", function(socket){
/*socket representa al cliente que me envío el mensaje*/
socket.on("mensaje_al_servidor", function(datosCliente){
var nombre = sanitizer.escape(datosCliente.nombre);
var mensaje = sanitizer.escape(datosCliente.mensaje);
console.log("Nombre: " + nombre);
console.log("Mensaje " + mensaje);
/*envio datos a todos*/
io.sockets.emit("mensaje_al_cliente",{
nombreCliente: nombre,
mensajeCliente: mensaje
});
});
});