2016-06-27 2 views
2

Не действительно проблема, но меня это беспокоит; После запуска моего приложения, все запросы сокетов (например, /api/articles/subscribe) регистрирует undefined утешать, как таковой:Sails socket запросы log undefined

GET /api/articles 200 180.463 ms - 27767 
GET /api/articles/subscribe undefined - ms - - 

Первый запрос HTTP, второе гнездо.

Почему это и как я могу это исправить?

Редактировать Мои маршруты:

'get /api/articles': 'ArticlesController.index', 
'/api/articles/subscribe': 'ArticlesController.subscribe', 

Я использую GET маршрут (GET /api/articles), чтобы получить все мои статьи в формате JSON. При просмотре статей я подписываться на определенную комнату через

io.socket.get('/api/articles/subscribe', function(data, jwt) { ... 

подписываться сам метод

subscribe: function(req, res) { 
    if(typeof req.user !== 'undefined') { 
    sails.sockets.join(req.socket, 'articles'); 

    return res.ok(); 
    } 
} 

Подписавшаяся работает хорошо, но всегда есть это GET /api/articles/subscribe undefined - ms - - в моей консоли.

+0

Вы можете добавить немного больше информации? Если я создаю очень простое приложение Sails с нуля, он ничего не записывает на консоль (например, паруса, новая статья, статья cd, паруса создают статью api, поднимают паруса) – Ultrasaurus

+0

@ Ультрасаурус редактировал вопрос, чтобы предоставить дополнительную информацию. – nehalist

+0

Вы используете 'res.getHeader ('X-Response-Time')' для печати времени отклика? – khushalbokadey

ответ

0

Вы пробовали одно из следующих?

Это когда вы используете Получить запрос (например http://www.url.com/?user=randomusername)

subscribe: function(req, res) { 
    var user = req.param("user"); 
    if(user !== undefined) { 
    sails.sockets.join(req.socket, 'articles'); 
    return res.ok(); 
    } 
    return res.badRequest(); 
} 

Это когда вы используете Post запрос (например, если вы пришлете JSON или аналогичный)

subscribe: function(req, res) { 
    if(req.body !== undefined && req.body.user !== undefined) { 
    sails.sockets.join(req.socket, 'articles'); 
    return res.ok(); 
    } 
    return res.badRequest(); 
} 

Или вам необходимо использовать его следующим образом (согласно Sails reference)

subscribe: function(req, res) { 
if (!req.isSocket) { 
    return res.badRequest(); 
} 
var room = req.param('user'); 
sails.sockets.join(req, room, function(err) { 
    if (err) { 
    return res.serverError(err); 
    } 
    return res.json({ 
    message: 'Subscribed to a room called '+ room +'!' 
    }); 
}); 
} 
Смежные вопросы