Skip to content

Commit 9933435

Browse files
committed
NewSSEScanner return Next by value instead of pointer
1 parent 8d378e1 commit 9933435

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

sse.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ type ServerSentEvent struct {
7676

7777
type SSEScanner struct {
7878
scanner *bufio.Scanner
79-
event *ServerSentEvent
79+
next ServerSentEvent
8080
err error
8181
readComment bool
8282
}
@@ -99,9 +99,10 @@ func NewSSEScanner(r io.Reader, readComment bool) *SSEScanner {
9999
}
100100

101101
func (s *SSEScanner) Next() bool {
102-
s.event = nil
103-
102+
// Zero the next event before scanning a new one
104103
var event ServerSentEvent
104+
s.next = event
105+
105106
var dataLines []string
106107

107108
var seenNonEmptyLine bool
@@ -150,13 +151,13 @@ func (s *SSEScanner) Next() bool {
150151
}
151152

152153
event.Data = strings.Join(dataLines, "\n")
153-
s.event = &event
154+
s.next = event
154155

155156
return true
156157
}
157158

158-
func (s *SSEScanner) Scan() *ServerSentEvent {
159-
return s.event
159+
func (s *SSEScanner) Scan() ServerSentEvent {
160+
return s.next
160161
}
161162

162163
func (s *SSEScanner) Err() error {

sse_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ func runSSEScanTest(t *testing.T, raw string, want []ServerSentEvent) {
259259

260260
var got []ServerSentEvent
261261
for sseScanner.Next() {
262-
got = append(got, *sseScanner.Scan())
262+
got = append(got, sseScanner.Scan())
263263
}
264264

265265
if err := sseScanner.Err(); err != nil {

stream_v2.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,6 @@ func (s *StreamerV2) Next() bool {
126126

127127
event := s.scanner.Scan()
128128

129-
if event == nil {
130-
return false
131-
}
132-
133129
switch event.Event {
134130
case "thread.message.delta":
135131
var delta StreamThreadMessageDelta

0 commit comments

Comments
 (0)