We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ffc63d9 commit f0a648bCopy full SHA for f0a648b
server/sse.go
@@ -190,12 +190,21 @@ func NewTestServer(server *MCPServer, opts ...SSEOption) *httptest.Server {
190
// It sets up HTTP handlers for SSE and message endpoints.
191
func (s *SSEServer) Start(addr string) error {
192
s.mu.Lock()
193
- s.srv = &http.Server{
194
- Addr: addr,
195
- Handler: s,
196
- }
197
- s.mu.Unlock()
+ defer s.mu.Unlock()
198
+ if s.srv == nil {
+ s.srv = &http.Server{
+ Addr: addr,
+ Handler: s,
199
+ }
200
+ } else {
201
+ if s.srv.Addr == "" {
202
+ s.srv.Addr = addr
203
+ } else if s.srv.Addr != addr {
204
+ return fmt.Errorf("conflicting listen address: WithHTTPServer(%q) vs Start(%q)", s.srv.Addr, addr)
205
206
207
+
208
return s.srv.ListenAndServe()
209
}
210
0 commit comments