diff --git a/transport/internet/http/hub.go b/transport/internet/http/hub.go index 721e0c7a..f2d9fdbf 100644 --- a/transport/internet/http/hub.go +++ b/transport/internet/http/hub.go @@ -108,12 +108,12 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti config := tls.ConfigFromStreamSettings(streamSettings) if config == nil { // return nil, newError("TLS must be enabled for http transport.").AtWarning() - h2s := &http2.Server{} + h2s:=&http2.Server{} server := &http.Server{ - Addr: serial.Concat(address, ":", port), + Addr: serial.Concat(address, ":", port), // TLSConfig: config.GetTLSConfig(tls.WithNextProto("h2")), - Handler: h2c.NewHandler(listener, h2s), + Handler: h2c.NewHandler(listener,h2s), ReadHeaderTimeout: time.Second * 4, } @@ -135,31 +135,33 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti }() return listener, nil - } - server := &http.Server{ - Addr: serial.Concat(address, ":", port), - TLSConfig: config.GetTLSConfig(tls.WithNextProto("h2")), - Handler: listener, - ReadHeaderTimeout: time.Second * 4, - } - - listener.server = server - go func() { - tcpListener, err := internet.ListenSystem(ctx, &net.TCPAddr{ - IP: address.IP(), - Port: int(port), - }, streamSettings.SocketSettings) - if err != nil { - newError("failed to listen on", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx)) - return + } else { + server := &http.Server{ + Addr: serial.Concat(address, ":", port), + TLSConfig: config.GetTLSConfig(tls.WithNextProto("h2")), + Handler: listener, + ReadHeaderTimeout: time.Second * 4, } - err = server.ServeTLS(tcpListener, "", "") - if err != nil { - newError("stoping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx)) - } - }() - return listener, nil + listener.server = server + go func() { + tcpListener, err := internet.ListenSystem(ctx, &net.TCPAddr{ + IP: address.IP(), + Port: int(port), + }, streamSettings.SocketSettings) + if err != nil { + newError("failed to listen on", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx)) + return + } + + err = server.ServeTLS(tcpListener, "", "") + if err != nil { + newError("stoping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx)) + } + }() + + return listener, nil + } } func init() {