You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
629 B

exports.maybeURL = id => {
// E.g, "appname-asdf"
return id.includes('-')
}
exports.normalizeURL = u => {
// Normalize URL by removing slash from the end
if (u.slice(-1) === '/') {
u = u.slice(0, -1)
}
// `url` should match the hostname of the deployment
u = u.replace(/^https:\/\//i, '')
if (!u.includes('.')) {
// `.now.sh` domain is implied if just the subdomain is given
u += '.now.sh'
}
return u
}
exports.parseInstanceURL = u => {
const m = /^(.+)-([a-z0-9]{24})(\.now\.sh)$/.exec(u)
const url = m ? m[1] + m[3] : u
const instanceId = m ? m[2] : null
return [url, instanceId]
}