function addClientInfo(socket, chunk, statusLine, clientIp, clientPort) { var len = Buffer.byteLength(statusLine); chunk = chunk.slice(len); statusLine += '\r\n' + config.CLIENT_INFO_HEAD + ': ' + clientIp + ',' + clientPort; var clientId = socket.headers[config.CLIENT_ID_HEADER]; if (clientId) { statusLine += '\r\n' + config.TEMP_CLIENT_ID_HEADER + ': ' + clientId; } var tunnelData = socket.headers[config.TUNNEL_DATA_HEADER]; if (tunnelData) { statusLine += '\r\n' + config.TEMP_TUNNEL_DATA_HEADER + ': ' + tunnelData; } return Buffer.concat([Buffer.from(statusLine), chunk]); }
var initConnectReq = function(req, res) { var established; req.sendEstablished = function(err, cb) { if (established) { return; } if (typeof err === 'function') { cb = err; err = null; } established = true; var msg = err ? 'Bad Gateway' : 'Connection Established'; var body = String((err && err.stack) || ''); var length = Buffer.byteLength(body); var resCtn = [ 'HTTP/1.1 ' + (err ? 502 : 200) + ' ' + msg, 'Content-Length: ' + length, 'Proxy-Agent: ' + pluginOpts.shortName, '\r\n', body ].join('\r\n'); res.write(resCtn, function() { if (!req._hasError && typeof cb === 'function') { setTimeout(cb, 16); } }); }; initWsReq(req, res); }
var msg = ['HTTP/1.1', err ? 500 : 404, err ? 'Internal Server Error' : 'Not Found'].join(' '); err = err ? '<pre>' + err + '</pre>' : 'Not Found'; var length = Buffer.byteLength(err); err = [ msg,
body = 'Invalid status code: ' + statusCode; resHeaders['Content-Type'] = 'text/html; charset=utf8'; resHeaders['Content-Length'] = Buffer.byteLength(body) + '';
it('should be able to get multiple packets with junk in the middle and end', () => { let expectedString = ','; let extraBuffer = new Buffer(expectedString); // We are going to extract multiple buffers let expectedNumberOfBuffers = 2; // declare the big buffer let buffer = new Buffer(k.OBCIPacketSize * expectedNumberOfBuffers + extraBuffer.length * 2); // Fill that new big buffer with buffers openBCIUtilities.samplePacketReal(0).copy(buffer, 0); extraBuffer.copy(buffer, k.OBCIPacketSize); openBCIUtilities.samplePacketReal(1).copy(buffer, k.OBCIPacketSize + extraBuffer.byteLength); extraBuffer.copy(buffer, k.OBCIPacketSize * 2 + extraBuffer.byteLength); // Reset the spy if it exists if (_processQualifiedPacketSpy) _processQualifiedPacketSpy.reset(); // Call the function under test buffer = ourBoard._processDataBuffer(buffer); // Ensure that we extracted only one buffer _processQualifiedPacketSpy.should.have.been.calledTwice(); // The buffer should not have anything in it any more expect(bufferEqual(Buffer.concat([extraBuffer, extraBuffer], 2), buffer)).to.be.true(); buffer.length.should.equal(extraBuffer.length * 2); });
it('should be able to get multiple packets with junk in the middle', () => { let expectedString = ','; let extraBuffer = new Buffer(expectedString); // We are going to extract multiple buffers let expectedNumberOfBuffers = 2; // declare the big buffer let buffer = new Buffer(k.OBCIPacketSize * expectedNumberOfBuffers + extraBuffer.length); // Fill that new big buffer with buffers openBCIUtilities.samplePacketReal(0).copy(buffer, 0); extraBuffer.copy(buffer, k.OBCIPacketSize); openBCIUtilities.samplePacketReal(1).copy(buffer, k.OBCIPacketSize + extraBuffer.byteLength); // Reset the spy if it exists if (_processQualifiedPacketSpy) _processQualifiedPacketSpy.reset(); // Call the function under test buffer = ourBoard._processDataBuffer(buffer); // Ensure that we extracted only one buffer _processQualifiedPacketSpy.should.have.been.calledTwice(); // The buffer should not have anything in it any more bufferEqual(extraBuffer, buffer).should.be.true(); buffer.length.should.equal(extraBuffer.length); });
let buf3 = Buffer.from(openBCIUtilities.samplePacket(251)); let inputBuf = Buffer.concat([buf1, buf2, buf3], buf1.byteLength + 1 + buf3.byteLength);