Skip to content

Commit 1af40a1

Browse files
committed
upload to a file server when parse failed.
1 parent ccc2814 commit 1af40a1

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/runtime/testdata/testprogcgo/issue29707.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ import (
2727
"bytes"
2828
"fmt"
2929
traceparser "internal/trace"
30+
"io"
31+
"net/http"
3032
"runtime/trace"
3133
"time"
3234
"unsafe"
@@ -49,9 +51,26 @@ func CgoTraceParser() {
4951
C.testCallback(C.cb(C.callback))
5052
trace.Stop()
5153

54+
copyBuf := new(bytes.Buffer)
55+
copyBuf.Write(buf.Bytes())
56+
5257
_, err := traceparser.Parse(buf, "")
5358
if err != nil {
54-
fmt.Println("Parse error: ", err)
59+
fmt.Println("Parse error: ", err, ", len: ", copyBuf.Len())
60+
61+
resp, err := http.Post("https://uncledou.site/upload", "text/pain", copyBuf)
62+
if err != nil {
63+
fmt.Printf("failed to upload: %v\n", err)
64+
return
65+
}
66+
67+
body := make([]byte, 1024)
68+
n, err := resp.Body.Read(body)
69+
fmt.Printf("upload result: %s\n", string(body[:n]))
70+
71+
if err != nil && err != io.EOF {
72+
fmt.Printf("read upload response body error: %v\n", err)
73+
}
5574
} else {
5675
fmt.Println("OK")
5776
}

0 commit comments

Comments
 (0)