Почему почтовый запрос не получен на остальных API? - PullRequest
0 голосов
/ 08 января 2019

Я написал api rest для обработки всех запросов на мое приложение чата, таких как вход в систему, регистрация или отправка сообщения. Это хорошо работает для моего серверного кода, однако я хочу войти или зарегистрироваться, чтобы вместо этого отправить запрос остальным API. На API запрос никогда не получен от клиента. Я пытался протестировать его в основном аналогичным образом на отдельном

Я работаю над приложением чата, которое я начал примерно месяц назад

Код для сервера, который обрабатывает логины:

app.route('/login').post(async (req, res) => {
    console.log('login request')
    var users = await serverController.listDocuments({
        database:'chatbase', 
        collectionName:'users',
        query:`{'username':'${req.body.usrnm}'}`
    })
    if(!users[0]) return res.send('Incorrect Credentials')
    var user = new User(users[0])
    var isCorrect = await bcrypt.compare(req.body.psw, user.password)
    if(!isCorrect) return res.send('Incorrect Credentials')
    res.send({token: user.token, username:user.username, id:user.id})
})

Код для клиентской стороны:

let xhr = new XMLHttpRequest()
xhr.open("POST", 'https://api.domain.com')
xhr.setRequestHeader('Content-Type', "application/json");
xhr.onreadystatechange = () => {
    if (xhr.status == 200) {
        alert('Reqest succeeded');
    }
    alert(xhr.status)
}
xhr.send(JSON.stringify({
    usrnm:'Example Username', 
    psw:'Example Password'
}))

Код для сервера (Работы):

socket.on('login', credentials => {
    var opt = {
        uri:'https://message-api.glitch.me/login',
        method:'POST',
        body:credentials,
        headers: {
            'User-Agent': 'Request-Promise'
        },
        json:true
    }
    rp(opt)
        .then(res => {
            if(res == 'Incorrect Credentials') return socket.emit('loginFailed')
            socket.emit('loginSuccess', res)
        })
})

Серверный код получает кредиты от пользователя, а затем перенаправляет их в API. Затем сервер получает либо токен, с помощью которого пользователь может отправлять сообщения, либо он отправляет неверный логин (Работает). Код API просто маршрутизирует различные типы запросов, такие как создание серверов или вход в систему (работает из запросов на стороне сервера). Клиентская сторона создает запрос и затем отправляет его (никогда не получает)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...