Add grpcSettings & gunSettings to streamSettings

This commit is contained in:
RPRX 2021-03-17 10:09:07 +00:00 committed by GitHub
parent fcee3af250
commit 00879c483e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -388,6 +388,8 @@ type StreamConfig struct {
HTTPSettings *HTTPConfig `json:"httpSettings"` HTTPSettings *HTTPConfig `json:"httpSettings"`
DSSettings *DomainSocketConfig `json:"dsSettings"` DSSettings *DomainSocketConfig `json:"dsSettings"`
QUICSettings *QUICConfig `json:"quicSettings"` QUICSettings *QUICConfig `json:"quicSettings"`
GunSettings *GunConfig `json:"gunSettings"`
GRPCSettings *GunConfig `json:"grpcSettings"`
SocketSettings *SocketConfig `json:"sockopt"` SocketSettings *SocketConfig `json:"sockopt"`
} }
@ -469,17 +471,30 @@ func (c *StreamConfig) Build() (*internet.StreamConfig, error) {
if c.QUICSettings != nil { if c.QUICSettings != nil {
qs, err := c.QUICSettings.Build() qs, err := c.QUICSettings.Build()
if err != nil { if err != nil {
return nil, newError("Failed to build QUIC config").Base(err) return nil, newError("Failed to build QUIC config.").Base(err)
} }
config.TransportSettings = append(config.TransportSettings, &internet.TransportConfig{ config.TransportSettings = append(config.TransportSettings, &internet.TransportConfig{
ProtocolName: "quic", ProtocolName: "quic",
Settings: serial.ToTypedMessage(qs), Settings: serial.ToTypedMessage(qs),
}) })
} }
if c.GunSettings == nil {
c.GunSettings = c.GRPCSettings
}
if c.GunSettings != nil {
gs, err := c.GunSettings.Build()
if err != nil {
return nil, newError("Failed to build Gun config.").Base(err)
}
config.TransportSettings = append(config.TransportSettings, &internet.TransportConfig{
ProtocolName: "gun",
Settings: serial.ToTypedMessage(gs),
})
}
if c.SocketSettings != nil { if c.SocketSettings != nil {
ss, err := c.SocketSettings.Build() ss, err := c.SocketSettings.Build()
if err != nil { if err != nil {
return nil, newError("Failed to build sockopt").Base(err) return nil, newError("Failed to build sockopt.").Base(err)
} }
config.SocketSettings = ss config.SocketSettings = ss
} }