controller and vsorc data viewers done
[VSoRC/.git] / node_modules / express-ws / node_modules / ws / lib / validation.js
diff --git a/node_modules/express-ws/node_modules/ws/lib/validation.js b/node_modules/express-ws/node_modules/ws/lib/validation.js
new file mode 100644 (file)
index 0000000..06269fc
--- /dev/null
@@ -0,0 +1,29 @@
+'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)
+  );
+};