31 lines
695 B
JavaScript
31 lines
695 B
JavaScript
|
'use strict';
|
||
|
|
||
|
try {
|
||
|
const isValidUTF8 = require('utf-8-validate');
|
||
|
|
||
|
exports.isValidUTF8 =
|
||
|
typeof isValidUTF8 === 'object'
|
||
|
? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0
|
||
|
: isValidUTF8;
|
||
|
} catch (e) /* istanbul ignore next */ {
|
||
|
exports.isValidUTF8 = () => true;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Checks if a status code is allowed in a close frame.
|
||
|
*
|
||
|
* @param {Number} code The status code
|
||
|
* @return {Boolean} `true` if the status code is valid, else `false`
|
||
|
* @public
|
||
|
*/
|
||
|
exports.isValidStatusCode = (code) => {
|
||
|
return (
|
||
|
(code >= 1000 &&
|
||
|
code <= 1013 &&
|
||
|
code !== 1004 &&
|
||
|
code !== 1005 &&
|
||
|
code !== 1006) ||
|
||
|
(code >= 3000 && code <= 4999)
|
||
|
);
|
||
|
};
|