how many instances of : are there in:
q: получение ответа на post-запрос в nodejs нужно реализовать нечто вроде авторизации в чате на вебсокетах. у каждого клиента есть свой токен. при подключении клиент сообщает имя и токен, а nodejs отправляет на php-скрипт запрос на проверку наличия в бд связки ник+токен. если в бд отсутствует, разрыв соединения.
вот только ответ (body) не приходит. вместо него в консоле chrome binary frame (opcode 2).
что я делаю не так?
const websocket = require(ws);
const url = require(url);
var request = require(request);
var port = process.env.port || 9030;
const wss = new websocket.server({ port: port });

wss.on(connection, function(ws, req) {
 var nickname = exampleuser;
 var usertoken = exampletoken;
 var servertoken = exampletoken;
 if (!nickname || !usertoken)
     ws.terminate();

 request.post({
     url: https://example.com/auth.php,
     headers: {user-agent: example,
               content-type: application/ json},
     json: true,
     body: json.stringify({servertoken: token, usertoken: usertoken, username: nickname})},
     function (error, response, body) {
         if (!body || response.statuscode !== 200 || error) {
           ws.terminate();
         }
         ws.send(body); // для отладки
         var response = json.parse(body);
         if (response[auth] == false)
             ws.terminate();
   });

ws.nickname = nickname;
ws.isalive = true;
...

код php (упрощённый):
<?php
header(cache-control: no-cache, no-stire, must-revalidate, max-age=0);
header(content-type: application/json; charset=utf-8);
if (isset($_post[servertoken]) && $_post[servertoken] == exampletoken) {
    $response = [auth => true];
else
    $response = [auth => false];
echo json_encode($response);
?>


user
I counted 15 ":"s in that text.
assistant