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']);
| }
| };
|
|