fix: serve listener

This commit is contained in:
loveuer 2024-01-13 17:45:44 +08:00
parent 7c03a40ef0
commit f938487884
2 changed files with 8 additions and 7 deletions

11
app.go
View File

@ -41,8 +41,11 @@ func (a *App) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
} }
func (a *App) run(ln net.Listener) error { func (a *App) run(ln net.Listener) error {
srv := &http.Server{Handler: a}
a.server = srv
if !a.config.DisableBanner { if !a.config.DisableBanner {
fmt.Println(banner + "nf serve at: " + a.server.Addr + "\n") fmt.Println(banner + "nf serve at: " + ln.Addr().String() + "\n")
} }
return a.server.Serve(ln) return a.server.Serve(ln)
@ -54,8 +57,6 @@ func (a *App) Run(address string) error {
return err return err
} }
a.server = &http.Server{}
return a.run(ln) return a.run(ln)
} }
@ -65,13 +66,11 @@ func (a *App) RunTLS(address string, tlsConfig *tls.Config) error {
return err return err
} }
a.server = &http.Server{}
return a.run(ln) return a.run(ln)
} }
func (a *App) RunListener(ln net.Listener) error { func (a *App) RunListener(ln net.Listener) error {
a.server = &http.Server{} a.server = &http.Server{Addr: ln.Addr().String()}
return a.run(ln) return a.run(ln)
} }

View File

@ -3,6 +3,7 @@ package main
import ( import (
"github.com/loveuer/nf" "github.com/loveuer/nf"
"log" "log"
"net"
) )
func main() { func main() {
@ -13,5 +14,6 @@ func main() {
return c.JSON(nf.Map{"status": 200, "data": "hello, " + name}) return c.JSON(nf.Map{"status": 200, "data": "hello, " + name})
}) })
log.Fatal(app.Run("0.0.0.0:80")) ln, _ := net.Listen("tcp", ":80")
log.Fatal(app.RunListener(ln))
} }