Skip to content

Commit 49335c6

Browse files
author
Mladen Rusev
committed
add intermediate buffer to meta file download
1 parent 645ce63 commit 49335c6

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

coverage_server.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ func startCoverageServer() {
1111
adminMux := http.NewServeMux()
1212

1313
adminMux.HandleFunc("/_debug/coverage/download", func(w http.ResponseWriter, r *http.Request) {
14-
log.Println("{\n \"message\": \"Received request to download coverage counter data...\"\n}")
15-
1614
var buffer bytes.Buffer
1715

1816
// Attempt to write the coverage counters to the buffer.
@@ -42,11 +40,25 @@ func startCoverageServer() {
4240

4341
adminMux.HandleFunc("/_debug/coverage/meta/download", func(w http.ResponseWriter, r *http.Request) {
4442
log.Println("Received request to download coverage metadata...")
43+
44+
var buffer bytes.Buffer
45+
if err := coverage.WriteMeta(&buffer); err != nil {
46+
log.Printf("Error writing coverage meta to buffer: %v", err)
47+
// Inform the client that an internal error occurred.
48+
http.Error(w, "Failed to generate coverage meta", http.StatusInternalServerError)
49+
return
50+
}
51+
// Check if any data was written to the buffer.
52+
if buffer.Len() == 0 {
53+
log.Println("Coverage meta is empty.")
54+
} else {
55+
log.Printf("Successfully wrote %d bytes of coverage meta to the buffer.", buffer.Len())
56+
}
57+
4558
w.Header().Set("Content-Type", "application/octet-stream")
4659
w.Header().Set("Content-Disposition", `attachment; filename="coverage.meta"`)
47-
48-
if err := coverage.WriteMeta(w); err != nil {
49-
log.Printf("Error writing coverage metadata to response: %v", err)
60+
if _, err := w.Write(buffer.Bytes()); err != nil {
61+
log.Printf("Error writing coverage meta from buffer to response: %v", err)
5062
}
5163
})
5264

0 commit comments

Comments
 (0)