Files
hoppscotch/functions/utils/valid.js
2020-05-15 02:14:24 -04:00

31 lines
685 B
JavaScript

const wsRegex = generateREForProtocol("^(wss?:\\/\\/)?")
const sseRegex = generateREForProtocol("^(https?:\\/\\/)?")
const socketioRegex = generateREForProtocol("^((wss?:\\/\\/)|(https?:\\/\\/))?")
function generateREForProtocol(protocol) {
return new RegExp(
`${protocol}[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&\\/\\/=]*)`
)
}
/**
* valid url for ws/wss
*/
export function wsValid(url) {
return wsRegex.test(url)
}
/**
* valid url for http/https
*/
export function sseValid(url) {
return sseRegex.test(url)
}
/**
* valid url for ws/wss/http/https
*/
export function socketioValid(url) {
return socketioRegex.test(url)
}