From 1b9f64757a7358e28cc89893899f4016d8d7b223 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 29 Dec 2025 12:40:18 +0100 Subject: pkg/tool: add ServeHTTP function Dedup code in syz-ci and syz-hub. --- pkg/tool/tool.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'pkg') diff --git a/pkg/tool/tool.go b/pkg/tool/tool.go index d67949355..07f260339 100644 --- a/pkg/tool/tool.go +++ b/pkg/tool/tool.go @@ -7,6 +7,9 @@ package tool import ( "flag" "fmt" + "log" + "net" + "net/http" "os" ) @@ -25,6 +28,20 @@ func Init() func() { return installProfiling(*flagCPUProfile, *flagMEMProfile) } +// ServeHTPP serves default http mux on the specified address in a separate goroutine. +// Terminates the process on any errors. +func ServeHTTP(addr string) { + ln, err := net.Listen("tcp4", addr) + if err != nil { + log.Fatalf("failed to listen on %v: %v", addr, err) + } + log.Printf("serving http on http://%v", ln.Addr()) + go func() { + err := http.Serve(ln, nil) + log.Fatalf("failed to serve http: %v", err) + }() +} + func Failf(msg string, args ...any) { fmt.Fprintf(os.Stderr, msg+"\n", args...) os.Exit(1) -- cgit mrf-deployment