aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2025-12-29 12:40:18 +0100
committerDmitry Vyukov <dvyukov@google.com>2025-12-29 13:30:44 +0000
commit1b9f64757a7358e28cc89893899f4016d8d7b223 (patch)
tree7f26171994d695bac8252ed6ad922de250e2aa0b /pkg
parent4e5820c0c41b0c979471b66497f055f5631dfd65 (diff)
pkg/tool: add ServeHTTP function
Dedup code in syz-ci and syz-hub.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/tool/tool.go17
1 files changed, 17 insertions, 0 deletions
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)