From 8e2bfe278b8627d410e4b230f5d9a43ca3f10496 Mon Sep 17 00:00:00 2001 From: CaIon Date: Tue, 28 Jul 2026 15:08:50 +0800 Subject: [PATCH] refactor: remove mutex from CustomEvent and update TCP connection handling in tests --- common/custom-event.go | 7 ++----- common/email_test.go | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/common/custom-event.go b/common/custom-event.go index 1bea2fd7..fd8fee87 100644 --- a/common/custom-event.go +++ b/common/custom-event.go @@ -9,7 +9,6 @@ import ( "io" "net/http" "strings" - "sync" ) type stringWriter interface { @@ -48,13 +47,13 @@ var dataReplacer = strings.NewReplacer( "\n", "\n", "\r", "\\r") +// CustomEvent does not synchronize writes to the response writer. Streaming +// callers must serialize event writes at the stream level. type CustomEvent struct { Event string Id string Retry uint Data interface{} - - Mutex sync.Mutex } func encode(writer io.Writer, event CustomEvent) error { @@ -76,8 +75,6 @@ func (r CustomEvent) Render(w http.ResponseWriter) error { } func (r CustomEvent) WriteContentType(w http.ResponseWriter) { - r.Mutex.Lock() - defer r.Mutex.Unlock() header := w.Header() header["Content-Type"] = writeContentType diff --git a/common/email_test.go b/common/email_test.go index 47916fdf..7ae45ae3 100644 --- a/common/email_test.go +++ b/common/email_test.go @@ -364,7 +364,7 @@ func TestSMTPPlainAuthRejectsRemotePlaintextConnection(t *testing.T) { SMTPFrom = "sender@example.com" SMTPToken = "secret" - conn, err := net.Dial("tcp", fmt.Sprintf("%s:%d", server.host, server.port)) + conn, err := net.Dial("tcp", net.JoinHostPort(server.host, strconv.Itoa(server.port))) require.NoError(t, err) client, err := smtp.NewClient(conn, SMTPServer) require.NoError(t, err)