fix: defer WebSocket logs until handshake delivery

This commit is contained in:
MiMoCode
2026-07-10 18:48:56 +08:00
parent 92daa9b566
commit 6fe0a8415d
3 changed files with 83 additions and 1 deletions
+6 -1
View File
@@ -209,7 +209,12 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
tracked := h.trackConn(conn)
if upgrade := st.upgrade.Load(); upgrade != nil {
cw.SetHijackedResponse(upgrade.status, upgrade.header)
submitOnce.Do(func() { submit(time.Now()) })
return &headerDeliveryConn{
Conn: tracked,
onDelivered: func() {
submitOnce.Do(func() { submit(time.Now()) })
},
}
}
return tracked
})