Ошибка отправки ответа при использовании node-imap? - PullRequest
0 голосов
/ 20 июня 2020

Я использую imap для аутентификации пользователя на сервере. Я использую express для сервера и https://github.com/mscdex/node-imap для imap. Функция контроллера

exports.authenticateUser = async (req, res) => {

        let username = req.body.username;
        let password = req.body.password;
        let imap = new Imap({
            user: username,
            password: password,
            host: HOST_ADDRESS,
            port: HOST_PORT
        })

        imap.once('ready', (e) => {
            req.session.user = username;
            return res.status(201).json({
                success: true,
                user: username
            });
        })

        imap.once('error', function (err) {
            console.log("err", err);    
            return res.status(500).json({
                success: false,
                error: 'Wrong credentials'
            });
        });

        imap.connect();
}

Но часто мой сервер останавливается

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

Причина ошибки в строке

                return res.status(500).json({
                success: false,
                error: 'Wrong credentials'
            });
...