api-client/functions/utils/valid.js

31 lines
685 B
JavaScript
Raw Normal View History

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)
}