Skip to content

Commit 2bd7076

Browse files
committed
Formatting
1 parent 807a9ba commit 2bd7076

File tree

1 file changed

+42
-42
lines changed

1 file changed

+42
-42
lines changed

client/sse.go

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -99,48 +99,48 @@ func (c *SSEMCPClient) Start(ctx context.Context) error {
9999
// readSSE continuously reads the SSE stream and processes events.
100100
// It runs until the connection is closed or an error occurs.
101101
func (c *SSEMCPClient) readSSE(reader io.ReadCloser) {
102-
defer reader.Close()
103-
104-
br := bufio.NewReader(reader)
105-
var event, data string
106-
107-
for {
108-
line, err := br.ReadString('\n')
109-
if err != nil {
110-
if err == io.EOF {
111-
// Process any pending event before exit
112-
if event != "" && data != "" {
113-
c.handleSSEEvent(event, data)
114-
}
115-
break
116-
}
117-
select {
118-
case <-c.done:
119-
return
120-
default:
121-
fmt.Printf("SSE stream error: %v\n", err)
122-
return
123-
}
124-
}
125-
126-
// Remove only newline markers
127-
line = strings.TrimRight(line, "\r\n")
128-
if line == "" {
129-
// Empty line means end of event
130-
if event != "" && data != "" {
131-
c.handleSSEEvent(event, data)
132-
event = ""
133-
data = ""
134-
}
135-
continue
136-
}
137-
138-
if strings.HasPrefix(line, "event:") {
139-
event = strings.TrimSpace(strings.TrimPrefix(line, "event:"))
140-
} else if strings.HasPrefix(line, "data:") {
141-
data = strings.TrimSpace(strings.TrimPrefix(line, "data:"))
142-
}
143-
}
102+
defer reader.Close()
103+
104+
br := bufio.NewReader(reader)
105+
var event, data string
106+
107+
for {
108+
line, err := br.ReadString('\n')
109+
if err != nil {
110+
if err == io.EOF {
111+
// Process any pending event before exit
112+
if event != "" && data != "" {
113+
c.handleSSEEvent(event, data)
114+
}
115+
break
116+
}
117+
select {
118+
case <-c.done:
119+
return
120+
default:
121+
fmt.Printf("SSE stream error: %v\n", err)
122+
return
123+
}
124+
}
125+
126+
// Remove only newline markers
127+
line = strings.TrimRight(line, "\r\n")
128+
if line == "" {
129+
// Empty line means end of event
130+
if event != "" && data != "" {
131+
c.handleSSEEvent(event, data)
132+
event = ""
133+
data = ""
134+
}
135+
continue
136+
}
137+
138+
if strings.HasPrefix(line, "event:") {
139+
event = strings.TrimSpace(strings.TrimPrefix(line, "event:"))
140+
} else if strings.HasPrefix(line, "data:") {
141+
data = strings.TrimSpace(strings.TrimPrefix(line, "data:"))
142+
}
143+
}
144144
}
145145

146146
// handleSSEEvent processes SSE events based on their type.

0 commit comments

Comments
 (0)