1.0.3 • Published 1 year ago

websocket-headers-generator v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

WebSocketHeadersGenerator

WebSocketHeadersGenerator is a Node.js class that generates headers for WebSocket communication. It provides a secure and flexible way to generate headers with customizable options such as origin, host, subprotocol, extensions, and additional headers. It also includes input validation, error handling, and randomization of some header values to add more variety and security to the headers. This package is ideal for developers who need to generate headers for WebSocket communication in their Node.js applications.

Installation

You can install the package using npm:

npm install websocket-headers-generator

Usage

To use the WebSocketHeadersGenerator class in your Node.js code, you can follow these steps:

  1. Require the package in your code:
const WebSocketHeadersGenerator = require('websocket-headers-generator');
  1. Create an instance of the class, passing in a configuration object with desired options:
const headersGenerator = new WebSocketHeadersGenerator({
    origin: 'https://example.com',
    host: 'example.com',
    headers: {
        'Authorization': 'Bearer xxxxxxxxxx',
        'Custom-Header': 'custom-value'
    },
    subprotocol: 'my-custom-subprotocol',
    extensions: 'my-custom-extension'
});
  1. Call the getHeaders method on the instance to get the generated headers:
const headers = headersGenerator.getHeaders();
  1. Use the headers in your WebSocket communication:
const socket = new WebSocket('wss://example.com', headers);

Customization

You can customize the configuration options as needed to generate headers that meet your requirements. The available options are:

  • origin: the origin to use in the headers (default: 'https://localhost')
  • host: the host to use in the headers (default: 'localhost')
  • headers: an object containing additional headers to include in the headers (default: {})
  • subprotocol: the subprotocol to use in the headers (default: undefined)
  • extensions: the extensions to use in the headers (default: undefined)

You can also customize the values for the User-Agent, Sec-WebSocket-Key, Sec-WebSocket-Version, Upgrade, Connection, Accept-Encoding, and Accept-Language headers by editing the constants in the source code.

Contributing

If you find a bug or have a feature request, please open an issue on GitHub. Pull requests are welcome!

License

This project is licensed under the MIT License. See the LICENSE file for details.

1.0.3

1 year ago

1.0.2

1 year ago

1.0.0

1 year ago