add http node settings

This commit is contained in:
ginuerzh
2023-01-29 20:31:13 +08:00
parent 24037aba7b
commit 66234239e4
8 changed files with 120 additions and 26 deletions

View File

@ -209,7 +209,8 @@ func ParseHop(cfg *config.HopConfig) (chain.Hop, error) {
host = "." + host
}
}
node := chain.NewNode(v.Name, v.Addr,
opts := []chain.NodeOption{
chain.TransportNodeOption(tr),
chain.BypassNodeOption(bypass.BypassGroup(bypassList(v.Bypass, v.Bypasses...)...)),
chain.ResoloverNodeOption(registry.ResolverRegistry().Get(v.Resolver)),
@ -217,7 +218,20 @@ func ParseHop(cfg *config.HopConfig) (chain.Hop, error) {
chain.MetadataNodeOption(nm),
chain.HostNodeOption(host),
chain.ProtocolNodeOption(v.Protocol),
)
}
if v.HTTP != nil {
opts = append(opts, chain.HTTPNodeOption(&chain.HTTPNodeSettings{
Host: v.HTTP.Host,
Header: v.HTTP.Header,
}))
}
if v.TLS != nil {
opts = append(opts, chain.TLSNodeOption(&chain.TLSNodeSettings{
ServerName: v.TLS.ServerName,
Secure: v.TLS.Secure,
}))
}
node := chain.NewNode(v.Name, v.Addr, opts...)
nodes = append(nodes, node)
}

View File

@ -257,6 +257,8 @@ func parseForwarder(cfg *config.ForwarderConfig) (chain.Hop, error) {
Protocol: node.Protocol,
Bypass: node.Bypass,
Bypasses: node.Bypasses,
HTTP: node.HTTP,
TLS: node.TLS,
},
)
}