github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/themes/wind/static/libs/sockjs-client-1.1.0/lib/utils/url.js (about) 1 'use strict'; 2 3 var URL = require('url-parse'); 4 5 var debug = function() {}; 6 if (process.env.NODE_ENV !== 'production') { 7 debug = require('debug')('sockjs-client:utils:url'); 8 } 9 10 module.exports = { 11 getOrigin: function(url) { 12 if (!url) { 13 return null; 14 } 15 16 var p = new URL(url); 17 if (p.protocol === 'file:') { 18 return null; 19 } 20 21 var port = p.port; 22 if (!port) { 23 port = (p.protocol === 'https:') ? '443' : '80'; 24 } 25 26 return p.protocol + '//' + p.hostname + ':' + port; 27 } 28 29 , isOriginEqual: function(a, b) { 30 var res = this.getOrigin(a) === this.getOrigin(b); 31 debug('same', a, b, res); 32 return res; 33 } 34 35 , isSchemeEqual: function(a, b) { 36 return (a.split(':')[0] === b.split(':')[0]); 37 } 38 39 , addPath: function (url, path) { 40 var qs = url.split('?'); 41 return qs[0] + path + (qs[1] ? '?' + qs[1] : ''); 42 } 43 44 , addQuery: function (url, q) { 45 return url + (url.indexOf('?') === -1 ? ('?' + q) : ('&' + q)); 46 } 47 };