UNPKG

691 BJavaScriptView Raw
1'use strict'
2
3let _ = require('lodash')
4let isWildcardMatch = require('./is_wildcard_match')
5
6let stableCnames = ['.herokudns.com', '.herokudnsdev.com']
7
8function matches (match) {
9 return match && _.find(stableCnames, (stableCname) => match.cname.endsWith(stableCname))
10}
11
12module.exports = function (certDomain, domains) {
13 let exactMatch = _.find(domains, (domain) => certDomain === domain.hostname)
14 if (matches(exactMatch)) {
15 return exactMatch.cname
16 }
17
18 let wildcardMatch = _.find(domains, function (domain) {
19 return (domain.hostname && isWildcardMatch(domain.hostname, certDomain))
20 })
21
22 if (matches(wildcardMatch)) {
23 return wildcardMatch.cname
24 }
25
26 return null
27}