@heroku-cli/plugin-certs-v5
Version:
heroku ssl plugin
28 lines (20 loc) • 703 B
JavaScript
let _ = require('lodash')
let isWildcardMatch = require('./is_wildcard_match')
let stableCnames = ['.herokudns.com', '.herokudnsdev.com']
function matches(match) {
return match && (match.kind === 'heroku' || _.find(stableCnames, stableCname => match.cname.endsWith(stableCname)))
}
module.exports = function (certDomain, domains) {
let exactMatch = _.find(domains, domain => certDomain === domain.hostname)
if (matches(exactMatch)) {
return exactMatch
}
let wildcardMatch = _.find(domains, function (domain) {
return (domain.hostname && isWildcardMatch(domain.hostname, certDomain))
})
if (matches(wildcardMatch)) {
return wildcardMatch
}
return null
}