Created
October 7, 2015 12:32
-
-
Save Harxy/6ce8697cdc630bf27b3d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var ExtensionHelper = { | |
CheckMessageForKeyword: function(message, keyword, hasParameters) { | |
if (!message.data || !message.data.text) { | |
return null; | |
} | |
var keywordRegex; | |
if (hasParameters) { | |
keywordRegex = new RegExp("^\\s*" + keyword + "\\s*(\\S.+?)\\s*$", "i"); | |
var params = message.data.text.match(keywordRegex); | |
if (params === null) { | |
return false; | |
} | |
return params[1]; | |
} else { | |
keywordRegex = new RegExp("^\\s*" + keyword + "\\s*$", "i"); | |
var matched = keywordRegex.test(message.data.text); | |
return matched; | |
} | |
} | |
}; | |
function parseURL(url){ | |
var parsed_url = {}; | |
if ( url === null || url.length === 0 ) { | |
return parsed_url; | |
} | |
var protocol_i = url.indexOf('://'); | |
parsed_url.protocol = url.substr(0,protocol_i); | |
var remaining_url = url.substr(protocol_i + 3, url.length); | |
var domain_i = remaining_url.indexOf('/'); | |
domain_i = domain_i == -1 ? remaining_url.length - 1 : domain_i; | |
parsed_url.domain = remaining_url.substr(0, domain_i); | |
parsed_url.path = domain_i == -1 || domain_i + 1 == remaining_url.length ? null : remaining_url.substr(domain_i + 1, remaining_url.length); | |
var domain_parts = parsed_url.domain.split('.'); | |
switch ( domain_parts.length ){ | |
case 2: | |
parsed_url.subdomain = null; | |
parsed_url.host = domain_parts[0]; | |
parsed_url.tld = domain_parts[1]; | |
break; | |
case 3: | |
parsed_url.subdomain = domain_parts[0]; | |
parsed_url.host = domain_parts[1]; | |
parsed_url.tld = domain_parts[2]; | |
break; | |
case 4: | |
parsed_url.subdomain = domain_parts[0]; | |
parsed_url.host = domain_parts[1]; | |
parsed_url.tld = domain_parts[2] + '.' + domain_parts[3]; | |
break; | |
} | |
parsed_url.parent_domain = parsed_url.host + '.' + parsed_url.tld; | |
return parsed_url; | |
} | |
module.exports = {ExtensionHelper:ExtensionHelper, | |
parseURL:parseURL}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment