Commit 725cb3f7d1204ff291c275a0719e631dc3410c57

Authored by Geoffrey PREUD'HOMME
1 parent 2ac0e575

Vérification de la présence de passwd

En fait l'un ou l'autre line-reader se comporte de la même manière,
c'est à dire lance une exception qui semble irrécupérable si le
fichier n'est pas trouvé ou autre.
Esperons qu'il fs.exists suffise.
Showing 1 changed file with 22 additions and 18 deletions   Show diff stats
app/controllers/noms.js
@@ -15,26 +15,30 @@ noms.get = function (login, cb) { @@ -15,26 +15,30 @@ noms.get = function (login, cb) {
15 if (nom.length >= 1) { 15 if (nom.length >= 1) {
16 cb(nom.nom) 16 cb(nom.nom)
17 } else { 17 } else {
18 - found = false  
19 - stream = fs.createReadStream('config/passwd')  
20 - transform = new LineTransform()  
21 - stream.pipe(transform)  
22 - transform.on('data', function (line) {  
23 - ex = line.split(':')  
24 - if (ex[0] == login) { // Si trouvé  
25 - found = true  
26 - cb(ex[4]) 18 + passwdF = 'config/passwd'
  19 + fs.exists(passwdF, function (exists) {
  20 + found = false
  21 + if (exists) {
  22 + stream = fs.createReadStream(passwdF)
  23 + transform = new LineTransform()
  24 + stream.pipe(transform)
  25 + transform.on('data', function (line) {
  26 + ex = line.split(':')
  27 + if (ex[0] == login) { // Si trouvé
  28 + found = true
  29 + cb(ex[4])
  30 + }
  31 + })
  32 + transform.on('end', function () {
  33 + if (!found) {
  34 + cb(false)
  35 + }
  36 + })
  37 + } else {
  38 + console.error("Impossible de trouver le fichier passwd")
  39 + cb(login.toUpperCase())
27 } 40 }
28 }) 41 })
29 - transform.on('end', function () {  
30 - if (!found) {  
31 - cb(false)  
32 - }  
33 - })  
34 - transform.on('error', function (e) {  
35 - console.error("Error while fetching name", e)  
36 - cb(login.toUpperCase())  
37 - })  
38 } 42 }
39 } 43 }
40 }) 44 })