.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / uri-js / dist / esnext / schemes / ws.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/uri-js/dist/esnext/schemes/ws.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/uri-js/dist/esnext/schemes/ws.js
new file mode 100755 (executable)
index 0000000..9277f03
--- /dev/null
@@ -0,0 +1,41 @@
+function isSecure(wsComponents) {
+    return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss";
+}
+//RFC 6455
+const handler = {
+    scheme: "ws",
+    domainHost: true,
+    parse: function (components, options) {
+        const wsComponents = components;
+        //indicate if the secure flag is set
+        wsComponents.secure = isSecure(wsComponents);
+        //construct resouce name
+        wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');
+        wsComponents.path = undefined;
+        wsComponents.query = undefined;
+        return wsComponents;
+    },
+    serialize: function (wsComponents, options) {
+        //normalize the default port
+        if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") {
+            wsComponents.port = undefined;
+        }
+        //ensure scheme matches secure flag
+        if (typeof wsComponents.secure === 'boolean') {
+            wsComponents.scheme = (wsComponents.secure ? 'wss' : 'ws');
+            wsComponents.secure = undefined;
+        }
+        //reconstruct path from resource name
+        if (wsComponents.resourceName) {
+            const [path, query] = wsComponents.resourceName.split('?');
+            wsComponents.path = (path && path !== '/' ? path : undefined);
+            wsComponents.query = query;
+            wsComponents.resourceName = undefined;
+        }
+        //forbid fragment component
+        wsComponents.fragment = undefined;
+        return wsComponents;
+    }
+};
+export default handler;
+//# sourceMappingURL=ws.js.map
\ No newline at end of file