Sha256: 00bdd2f3bfdb71165fe98951635769542f2a441ad8a688c7b106721dab75c529

Contents?: true

Size: 1.62 KB

Versions: 66

Compression:

Stored size: 1.62 KB

Contents

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

Version data entries

66 entries across 65 versions & 8 rubygems

Version Path
rapid_stack-0.2.0 templates/frontend/node_modules/uri-js/dist/esnext/schemes/ws.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/uri-js/dist/esnext/schemes/ws.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.62 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.61 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.60 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.59 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.58 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.57 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.56 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.55 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.54 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.53 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.52 node_modules/uri-js/dist/esnext/schemes/ws.js
trusty-cms-6.3.1 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.51 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.50 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.49 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.48 node_modules/uri-js/dist/esnext/schemes/ws.js
immosquare-cleaner-0.1.47 node_modules/uri-js/dist/esnext/schemes/ws.js