cmd/soju: add withDefaultPort helper
This commit is contained in:
parent
4c818d28cc
commit
866845ea95
|
@ -165,16 +165,13 @@ func main() {
|
||||||
if tlsCfg == nil {
|
if tlsCfg == nil {
|
||||||
log.Fatalf("failed to listen on %q: missing TLS configuration", listen)
|
log.Fatalf("failed to listen on %q: missing TLS configuration", listen)
|
||||||
}
|
}
|
||||||
host := u.Host
|
addr := withDefaultPort(u.Host, "6697")
|
||||||
if _, _, err := net.SplitHostPort(host); err != nil {
|
|
||||||
host = host + ":6697"
|
|
||||||
}
|
|
||||||
ircsTLSCfg := tlsCfg.Clone()
|
ircsTLSCfg := tlsCfg.Clone()
|
||||||
ircsTLSCfg.NextProtos = []string{"irc"}
|
ircsTLSCfg.NextProtos = []string{"irc"}
|
||||||
lc := net.ListenConfig{
|
lc := net.ListenConfig{
|
||||||
KeepAlive: downstreamKeepAlive,
|
KeepAlive: downstreamKeepAlive,
|
||||||
}
|
}
|
||||||
l, err := lc.Listen(context.Background(), "tcp", host)
|
l, err := lc.Listen(context.Background(), "tcp", addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to start TLS listener on %q: %v", listen, err)
|
log.Fatalf("failed to start TLS listener on %q: %v", listen, err)
|
||||||
}
|
}
|
||||||
|
@ -186,14 +183,11 @@ func main() {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
case "irc+insecure":
|
case "irc+insecure":
|
||||||
host := u.Host
|
addr := withDefaultPort(u.Host, "6667")
|
||||||
if _, _, err := net.SplitHostPort(host); err != nil {
|
|
||||||
host = host + ":6667"
|
|
||||||
}
|
|
||||||
lc := net.ListenConfig{
|
lc := net.ListenConfig{
|
||||||
KeepAlive: downstreamKeepAlive,
|
KeepAlive: downstreamKeepAlive,
|
||||||
}
|
}
|
||||||
ln, err := lc.Listen(context.Background(), "tcp", host)
|
ln, err := lc.Listen(context.Background(), "tcp", addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to start listener on %q: %v", listen, err)
|
log.Fatalf("failed to start listener on %q: %v", listen, err)
|
||||||
}
|
}
|
||||||
|
@ -237,12 +231,8 @@ func main() {
|
||||||
if tlsCfg == nil {
|
if tlsCfg == nil {
|
||||||
log.Fatalf("failed to listen on %q: missing TLS configuration", listen)
|
log.Fatalf("failed to listen on %q: missing TLS configuration", listen)
|
||||||
}
|
}
|
||||||
addr := u.Host
|
|
||||||
if _, _, err := net.SplitHostPort(addr); err != nil {
|
|
||||||
addr = addr + ":https"
|
|
||||||
}
|
|
||||||
httpSrv := http.Server{
|
httpSrv := http.Server{
|
||||||
Addr: addr,
|
Addr: withDefaultPort(u.Host, "https"),
|
||||||
TLSConfig: tlsCfg,
|
TLSConfig: tlsCfg,
|
||||||
Handler: srv,
|
Handler: srv,
|
||||||
}
|
}
|
||||||
|
@ -252,12 +242,8 @@ func main() {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
case "ws+insecure":
|
case "ws+insecure":
|
||||||
addr := u.Host
|
|
||||||
if _, _, err := net.SplitHostPort(addr); err != nil {
|
|
||||||
addr = addr + ":http"
|
|
||||||
}
|
|
||||||
httpSrv := http.Server{
|
httpSrv := http.Server{
|
||||||
Addr: addr,
|
Addr: withDefaultPort(u.Host, "http"),
|
||||||
Handler: srv,
|
Handler: srv,
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
|
@ -270,11 +256,8 @@ func main() {
|
||||||
srv.Identd = identd.New()
|
srv.Identd = identd.New()
|
||||||
}
|
}
|
||||||
|
|
||||||
host := u.Host
|
addr := withDefaultPort(u.Host, "113")
|
||||||
if _, _, err := net.SplitHostPort(host); err != nil {
|
ln, err := net.Listen("tcp", addr)
|
||||||
host = host + ":113"
|
|
||||||
}
|
|
||||||
ln, err := net.Listen("tcp", host)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to start listener on %q: %v", listen, err)
|
log.Fatalf("failed to start listener on %q: %v", listen, err)
|
||||||
}
|
}
|
||||||
|
@ -339,12 +322,8 @@ func main() {
|
||||||
if tlsCfg == nil {
|
if tlsCfg == nil {
|
||||||
log.Fatalf("failed to listen on %q: missing TLS configuration", listen)
|
log.Fatalf("failed to listen on %q: missing TLS configuration", listen)
|
||||||
}
|
}
|
||||||
addr := u.Host
|
|
||||||
if _, _, err := net.SplitHostPort(addr); err != nil {
|
|
||||||
addr = addr + ":https"
|
|
||||||
}
|
|
||||||
httpSrv := http.Server{
|
httpSrv := http.Server{
|
||||||
Addr: addr,
|
Addr: withDefaultPort(u.Host, "https"),
|
||||||
TLSConfig: tlsCfg,
|
TLSConfig: tlsCfg,
|
||||||
Handler: httpMux,
|
Handler: httpMux,
|
||||||
}
|
}
|
||||||
|
@ -354,12 +333,8 @@ func main() {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
case "http+insecure":
|
case "http+insecure":
|
||||||
addr := u.Host
|
|
||||||
if _, _, err := net.SplitHostPort(addr); err != nil {
|
|
||||||
addr = addr + ":http"
|
|
||||||
}
|
|
||||||
httpSrv := http.Server{
|
httpSrv := http.Server{
|
||||||
Addr: addr,
|
Addr: withDefaultPort(u.Host, "http"),
|
||||||
Handler: httpMux,
|
Handler: httpMux,
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
|
@ -420,3 +395,10 @@ func proxyProtoListener(ln net.Listener, srv *soju.Server) net.Listener {
|
||||||
ReadHeaderTimeout: 5 * time.Second,
|
ReadHeaderTimeout: 5 * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func withDefaultPort(addr, port string) string {
|
||||||
|
if _, _, err := net.SplitHostPort(addr); err != nil {
|
||||||
|
addr += ":" + port
|
||||||
|
}
|
||||||
|
return addr
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue