Я создаю модуль для HTTP запросов в NodeJS и Express. Этот модуль содержит две функции. Одна для возвращает положительное состояние запроса, а другая ошибка возвращает отрицательное состояние запроса.
const fs = require('fs')
const path = require('path')
const networkFolder = path.join(__dirname, '../data/')
const file = path.join(__dirname, '../data/network.log')
const success = (req, res, status, data) => {
res.status(status).json({
error: '',
data
})
}
const error = (req, res, status, error, log) => {
if (log) {
fs.access(networkFolder, fs.constants.W_OK, (err) => {
if (err) {
console.error(new Error(err))
} else {
fs.open(file, (err) => {
if (err) console.error(new Error(err))
fs.writeFile(file, log, (err) => {
if (err) console.error(new Error(err))
console.log(`Error: Check on server for more details.`)
})
})
}
})
}
res.status(status).json({
error,
data: ''
})
}
module.exports = {
success,
error
}
Я никогда не использовал модуль файловой системы и хотел бы знать, правильно ли я это делаю. В функции ошибки я передаю некоторые параметры. Один из них - это ошибка, а другой - журнал. Параметр ошибки предназначен для клиента - более обобщенная версия ошибки, чтобы не раскрывать подробности потенциальным злоумышленникам. Параметр журнала будет содержать наиболее подробную ошибку. Но я хочу, чтобы эта ошибка была go для файла, который будет go внутри указанной папки c. Я назвал папку с данными и файл network.log. Это правильный путь?