11// Importation des modules
2- var express = require ( 'express' ) ;
3- var http = require ( 'http' ) ;
4- var out = require ( './inc/output' ) ;
2+ var express = require ( 'express' ) ;
3+ var http = require ( 'http' ) ;
4+ var out = require ( './inc/output' ) ;
55
6- var port = 18433 ; /*Port en fonction de la date du jour 18 => 2018, 37 => 37 ème semaine, 4 => 4 ème jour (jeudi)*/
6+ /* Test pour JS Delivr */
7+
8+ var port = 18433 ;
9+ /*Port en fonction de la date du jour 18 => 2018, 37 => 37 ème semaine, 4 => 4 ème jour (jeudi)*/
710
811var app = express ( ) ;
912
@@ -23,14 +26,44 @@ app.get('/', function (req, res) {
2326
2427app . get ( '/command' , function ( req , res ) {
2528
26- var client = { } ;
27- client . name = req . query . name ;
28- client . time = req . query . time ;
29- client . ver = req . query . ver ;
29+ var name = req . query . name ;
30+ if ( clients . hasOwnProperty ( req . query . name ) ) {
31+ clients [ name ] . time = req . query . time ;
32+ clients [ name ] . ver = req . query . ver ;
33+ clients [ name ] . dir = req . query . dir ;
34+ clients [ name ] . ip = req . connection . remoteAddress ;
35+ } else {
36+ var client = { } ;
37+ client . name = name ;
38+ client . time = req . query . time ;
39+ client . ver = req . query . ver ;
40+ client . dir = req . query . dir ;
41+ client . ip = req . connection . remoteAddress ;
42+
43+ clients [ client . name ] = client ;
44+ }
45+
46+ res . end ( JSON . stringify ( clients [ name ] ) ) ;
47+ } ) ;
48+
49+ app . get ( '/reponse' , function ( req , res ) {
50+
51+ var name = req . query . name ;
52+ var erreur = req . query . message ;
53+ var reponse = { } ;
3054
31- clients [ client . name ] = client ;
55+ if ( erreur ) {
56+ io . sockets . emit ( "reponse" , { message : true , message : out . message ( erreur ) } ) ;
57+ }
58+ if ( clients . hasOwnProperty ( name ) ) {
59+ delete clients [ name ] . commande ;
60+ reponse . erreur = false ;
3261
33- res . end ( client . command ) ;
62+ } else {
63+ reponse . erreur = true ;
64+ }
65+
66+ res . end ( JSON . stringify ( reponse ) ) ;
3467} ) ;
3568
3669//Gestion des évènements
@@ -39,42 +72,70 @@ io.sockets.on('connection', function (socket) {
3972 console . log ( "Morning..." ) ;
4073 socket . emit ( 'auth' ) ;
4174
42- socket . on ( 'command' , function ( data ) {
75+ socket . on ( 'command' , function ( data ) {
4376 console . log ( data ) ;
77+ let reponse = { } ;
78+ reponse . token = data . token ;
79+ reponse . erreur = false ;
4480 if ( data . global ) {
45- let reponse = { } ;
46- reponse . token = data . token ;
47- reponse . erreur = false ;
4881 switch ( data . exe ) {
4982 case "lister" :
5083 reponse . resultat = out . lister ( clients ) ;
5184 break ;
5285 case "retirer" :
5386 var param = data . params ;
5487 if ( param ) {
55- if ( data . params === "tout" ) {
88+ if ( data . params === "tout" ) {
5689 for ( var x in clients ) if ( clients . hasOwnProperty ( x ) ) delete clients [ x ] ;
5790 } else {
58- delete clients [ data . params ] ;
91+ if ( clients . hasOwnProperty ( data . params ) ) delete clients [ data . params ] ;
92+ else {
93+ reponse . erreur = true ;
94+ reponse . message = out . message ( "Client inexistant" ) ;
95+ }
5996 }
6097 } else {
61- reponse . erreur = true ;
62- reponse . message = "Paramètre manquant" ;
98+ reponse . erreur = true ;
99+ reponse . message = out . message ( "Paramètre manquant" ) ;
63100 }
64101
65102 reponse . resultat = out . lister ( clients ) ;
66103 break ;
67104 default :
68- reponse . erreur = true ;
69- reponse . message = "Comande inconnue" ;
105+ reponse . erreur = true ;
106+ reponse . message = out . message ( "Comande inconnue" ) ;
70107 break ;
71108 }
72- socket . emit ( "reponse" , reponse ) ;
109+ } else {
110+ var cli = data . client ;
111+ if ( cli ) {
112+ if ( clients . hasOwnProperty ( cli ) ) {
113+ switch ( data . exe ) {
114+ case "contenu" :
115+ clients [ cli ] . commande = "ls > ls.txt" ;
116+ break ;
117+ default :
118+ clients [ cli ] . commande = data . exe ;
119+ if ( data . params ) clients [ cli ] . params = data . params ;
120+ break ;
121+ }
122+ clients [ cli ] . token = data . token ;
123+ reponse . resultat = out . message ( "Commande envoyée" ) ;
124+ } else {
125+ reponse . erreur = true ;
126+ reponse . message = out . message ( "Client inexistant" ) ;
127+ }
128+ } else {
129+ reponse . erreur = true ;
130+ reponse . message = out . message ( "Client non renseigné" ) ;
131+ }
73132 }
133+
134+ socket . emit ( "reponse" , reponse ) ;
74135 } ) ;
75136
76137
77- socket . on ( 'disconnect' , function ( ) {
138+ socket . on ( 'disconnect' , function ( ) {
78139 console . log ( "Bye bye !" )
79140 } ) ;
80141} ) ;
0 commit comments