Socket
Socket
Sign inDemoInstall

bufferutil

Package Overview
Dependencies
1
Maintainers
3
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

bufferutil

WebSocket buffer utils


Version published
Maintainers
3
Weekly downloads
1,502,489
decreased by-8.86%

Weekly downloads

Package description

What is bufferutil?

The bufferutil package is a Node.js utility module that provides efficient buffer operations. It is primarily used to enhance the performance of binary data manipulation by providing a native addon for buffer operations which are faster than pure JavaScript implementations.

What are bufferutil's main functionalities?

Masking and unmasking WebSocket frames

This feature allows you to mask and unmask data according to the WebSocket protocol, which is useful for WebSocket frame manipulation.

const bufferUtil = require('bufferutil');
const buffer = Buffer.from('Hello World');
const masked = bufferUtil.mask(buffer, Buffer.from([0x12, 0x34, 0x56, 0x78]));
const unmasked = bufferUtil.unmask(masked, Buffer.from([0x12, 0x34, 0x56, 0x78]));

Buffer concatenation

This feature provides a method to concatenate multiple buffers into a single buffer efficiently.

const bufferUtil = require('bufferutil');
const buffers = [Buffer.from('Hello'), Buffer.from(' '), Buffer.from('World')];
const concatenated = bufferUtil.concat(buffers);

Buffer comparison

This feature allows you to compare two buffers for equality, which is faster than comparing them byte-by-byte in JavaScript.

const bufferUtil = require('bufferutil');
const buffer1 = Buffer.from('Hello');
const buffer2 = Buffer.from('Hello');
const isEqual = bufferUtil.equals(buffer1, buffer2);

Other packages similar to bufferutil

Readme

Source

bufferutil

Version npm Linux/macOS Build Windows Build

bufferutil is what makes ws fast. It provides some utilities to efficiently perform some operations such as masking and unmasking the data payload of WebSocket frames.

Installation

npm install bufferutil --save-optional

The --save-optional flag tells npm to save the package in your package.json under the optionalDependencies key.

API

The module exports two functions.

bufferUtil.mask(source, mask, output, offset, length)

Masks a buffer using the given masking-key as specified by the WebSocket protocol.

Arguments
  • source - The buffer to mask.
  • mask - A buffer representing the masking-key.
  • output - The buffer where to store the result.
  • offset - The offset at which to start writing.
  • length - The number of bytes to mask.
Example
'use strict';

const bufferUtil = require('bufferutil');
const crypto = require('crypto');

const source = crypto.randomBytes(10);
const mask = crypto.randomBytes(4);

bufferUtil.mask(source, mask, source, 0, source.length);

bufferUtil.unmask(buffer, mask)

Unmasks a buffer using the given masking-key as specified by the WebSocket protocol.

Arguments
  • buffer - The buffer to unmask.
  • mask - A buffer representing the masking-key.
Example
'use strict';

const bufferUtil = require('bufferutil');
const crypto = require('crypto');

const buffer = crypto.randomBytes(10);
const mask = crypto.randomBytes(4);

bufferUtil.unmask(buffer, mask);

License

MIT

Keywords

FAQs

Last updated on 02 Jan 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc