You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mahdihty
1f2b40ae28
|
4 years ago | |
---|---|---|
.. | ||
prebuilds | 4 years ago | |
src | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
binding.gyp | 4 years ago | |
fallback.js | 4 years ago | |
index.js | 4 years ago | |
package.json | 4 years ago |
README.md
bufferutil
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);