Ehco1996 / ehco

ehco is a network ʚrelayɞ tool and a typo :)
https://docs.ehco-relay.cc/
GNU General Public License v3.0
1.2k stars 208 forks source link

[Improvement] Use Constant Types Instead of Individual Enum Validations in internal/relay/conf/cfg.go #345

Closed ioogle closed 1 week ago

ioogle commented 2 weeks ago

filepath: internal/relay/conf/cfg.go

func (r *Config) validateType() error {
    if r.ListenType != constant.RelayTypeRaw &&
        r.ListenType != constant.RelayTypeWS &&
        r.ListenType != constant.RelayTypeMWS &&
        r.ListenType != constant.RelayTypeWSS &&
        r.ListenType != constant.RelayTypeMTCP &&
        r.ListenType != constant.RelayTypeMWSS {
        return fmt.Errorf("invalid listen type:%s", r.ListenType)
    }

    if r.TransportType != constant.RelayTypeRaw &&
        r.TransportType != constant.RelayTypeWS &&
        r.TransportType != constant.RelayTypeMWS &&
        r.TransportType != constant.RelayTypeWSS &&
        r.TransportType != constant.RelayTypeMTCP &&
        r.TransportType != constant.RelayTypeMWSS {
        return fmt.Errorf("invalid transport type:%s", r.ListenType)
    }
    return nil
}
Ehco1996 commented 2 weeks ago

pr is welcome