Commit 725cb3f7d1204ff291c275a0719e631dc3410c57
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 | 15 | if (nom.length >= 1) { |
16 | 16 | cb(nom.nom) |
17 | 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 | }) | ... | ... |