| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 | | const ChainedMap = require('./ChainedMap'); |  | const ChainedSet = require('./ChainedSet'); |  |   |  | module.exports = class extends ChainedMap { |  |   constructor(parent) { |  |     super(parent); |  |   |  |     this.allowedHosts = new ChainedSet(this); |  |   |  |     this.extend([ |  |       'after', |  |       'before', |  |       'bonjour', |  |       'clientLogLevel', |  |       'color', |  |       'compress', |  |       'contentBase', |  |       'disableHostCheck', |  |       'filename', |  |       'headers', |  |       'historyApiFallback', |  |       'host', |  |       'hot', |  |       'hotOnly', |  |       'http2', |  |       'https', |  |       'index', |  |       'info', |  |       'inline', |  |       'lazy', |  |       'mimeTypes', |  |       'noInfo', |  |       'open', |  |       'openPage', |  |       'overlay', |  |       'pfx', |  |       'pfxPassphrase', |  |       'port', |  |       'proxy', |  |       'progress', |  |       'public', |  |       'publicPath', |  |       'quiet', |  |       'setup', |  |       'socket', |  |       'sockHost', |  |       'sockPath', |  |       'sockPort', |  |       'staticOptions', |  |       'stats', |  |       'stdin', |  |       'useLocalIp', |  |       'watchContentBase', |  |       'watchOptions', |  |       'writeToDisk', |  |     ]); |  |   } |  |   |  |   toConfig() { |  |     return this.clean({ |  |       allowedHosts: this.allowedHosts.values(), |  |       ...(this.entries() || {}), |  |     }); |  |   } |  |   |  |   merge(obj, omit = []) { |  |     if (!omit.includes('allowedHosts') && 'allowedHosts' in obj) { |  |       this.allowedHosts.merge(obj.allowedHosts); |  |     } |  |   |  |     return super.merge(obj, ['allowedHosts']); |  |   } |  | }; | 
 |