Files
tenfourfox/testing/xpcshell/node-spdy/test/fixtures/frames.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

39 lines
1.1 KiB
JavaScript

var spdy = require('../../lib/spdy'),
Buffer = require('buffer').Buffer;
exports.createSynStream = function(host, url, callback) {
var deflate = spdy.utils.createDeflate(),
chunks = [],
chunksTotal = 0,
syn_stream;
deflate.on('data', function(chunk) {
chunks.push(chunk);
chunksTotal += chunk.length;
});
deflate.write(new Buffer([ 0x00, 0x02, 0x00, 0x04 ]));
deflate.write('host');
deflate.write(new Buffer([ 0x00, host.length ]));
deflate.write(host);
deflate.write(new Buffer([ 0x00, 0x03 ]));
deflate.write('url');
deflate.write(new Buffer([ 0x00, url.length ]));
deflate.write(url);
deflate.flush(function() {
syn_stream = new Buffer(18 + chunksTotal);
syn_stream.writeUInt32BE(0x80020001, 0);
syn_stream.writeUInt32BE(chunksTotal + 8, 4);
syn_stream.writeUInt32BE(0x00000001, 8);
syn_stream.writeUInt32BE(0x00000000, 12);
var offset = 18;
chunks.forEach(function(chunk) {
chunk.copy(syn_stream, offset);
offset += chunk.length;
});
callback(syn_stream);
});
};