michael@0: // michael@0: // ### function parseHeader (data) michael@0: // ### @data {Buffer} incoming data michael@0: // Returns parsed SPDY frame header michael@0: // michael@0: exports.parseHeader = function parseHeader(data) { michael@0: var header = { michael@0: control: (data.readUInt8(0) & 0x80) === 0x80 ? true : false, michael@0: version: null, michael@0: type: null, michael@0: id: null, michael@0: flags: data.readUInt8(4), michael@0: length: data.readUInt32BE(4) & 0x00ffffff michael@0: }; michael@0: michael@0: if (header.control) { michael@0: header.version = data.readUInt16BE(0) & 0x7fff; michael@0: header.type = data.readUInt16BE(2); michael@0: } else { michael@0: header.id = data.readUInt32BE(0) & 0x7fffffff; michael@0: } michael@0: michael@0: return header; michael@0: };