Я пытаюсь написать простой тест, чтобы протестировать приложение NodeJS socket.io. Проблема заключается в том, что на этапе рукопожатия мне требуются определенные значения (два файла cookie и заголовки). Это то, что я теперь есть:Test NodeJS socket.io с пользовательскими заголовками
var options = {
transports: ['websocket'],
'force new connection': true,
headers: {'accept-langauge': 'foo'}
};
it("send data", function(done) {
var client = io.connect('http://localhost:3000', options);
client.once("connect", function(s) {
expect(s.handshake).to.not.be(undefined);
expect(s.handshake.headers).to.be.an('object');
expect(s.handshake.headers['accept-language']).to.be('en');
client.once("send_premise_to_snet", function(id) {
id.should.equal("123");
client.disconnect();
done();
});
client.emit("send_data", 123);
});
});
Я хотел бы быть в состоянии установить Accept-Language и печенье так, что они будут появляться в рукопожатии, и, таким образом, будут доступны через рукопожатия собственности.
В обычном браузере браузер запросов правильно заполняет заголовки, и теперь я хотел бы сделать это и на этапе тестирования.
Каков ваш вопрос? У вас возникли проблемы с проверкой заголовков рукопожатия с сервера или вы спрашиваете, как отправлять правильные заголовки с сервера? – gregnr
Вопрос: как передать заголовки при выполнении «client = io.connect». Таким образом, я должен уметь читать их из данных рукопожатия. Обратите внимание, что io.connect выполняется в узле unitsest. – jtiai