diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-12-29 12:40:18 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2025-12-29 13:30:44 +0000 |
| commit | 1b9f64757a7358e28cc89893899f4016d8d7b223 (patch) | |
| tree | 7f26171994d695bac8252ed6ad922de250e2aa0b /pkg | |
| parent | 4e5820c0c41b0c979471b66497f055f5631dfd65 (diff) | |
pkg/tool: add ServeHTTP function
Dedup code in syz-ci and syz-hub.
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/tool/tool.go | 17 |
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) |
