Skip to content

Commit 7df5ab6

Browse files
committed
refactor: decouple standard header population from setMCPHeaders in streamableClientConn
1 parent 604f2d4 commit 7df5ab6

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

mcp/streamable.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,12 +1803,13 @@ func (c *streamableClientConn) Write(ctx context.Context, msg jsonrpc.Message) e
18031803
}
18041804
req.Header.Set("Content-Type", "application/json")
18051805
req.Header.Set("Accept", "application/json, text/event-stream")
1806-
if err := c.setMCPHeaders(req, msg); err != nil {
1806+
if err := c.setMCPHeaders(req); err != nil {
18071807
// Failure to set headers means that the request was not sent.
18081808
// Wrap with ErrRejected so the jsonrpc2 connection doesn't set writeErr
18091809
// and permanently break the connection.
18101810
return nil, nil, fmt.Errorf("%s: %w: %w", requestSummary, jsonrpc2.ErrRejected, err)
18111811
}
1812+
setStandardHeaders(req, msg)
18121813
resp, err := c.client.Do(req)
18131814
if err != nil {
18141815
// Any error from client.Do means the request didn't reach the server.
@@ -1919,7 +1920,7 @@ func (c *streamableClientConn) Write(ctx context.Context, msg jsonrpc.Message) e
19191920
return nil
19201921
}
19211922

1922-
func (c *streamableClientConn) setMCPHeaders(req *http.Request, msg jsonrpc.Message) error {
1923+
func (c *streamableClientConn) setMCPHeaders(req *http.Request) error {
19231924
c.mu.Lock()
19241925
defer c.mu.Unlock()
19251926

@@ -1945,8 +1946,6 @@ func (c *streamableClientConn) setMCPHeaders(req *http.Request, msg jsonrpc.Mess
19451946
req.Header.Set(SessionIDHeader, c.sessionID)
19461947
}
19471948

1948-
setStandardHeaders(req, msg)
1949-
19501949
return nil
19511950
}
19521951

@@ -2200,7 +2199,7 @@ func (c *streamableClientConn) connectSSE(ctx context.Context, lastEventID strin
22002199
if err != nil {
22012200
return nil, err
22022201
}
2203-
if err := c.setMCPHeaders(req, nil); err != nil {
2202+
if err := c.setMCPHeaders(req); err != nil {
22042203
return nil, err
22052204
}
22062205
if lastEventID != "" {
@@ -2233,7 +2232,7 @@ func (c *streamableClientConn) Close() error {
22332232
if err != nil {
22342233
c.closeErr = err
22352234
} else {
2236-
if err := c.setMCPHeaders(req, nil); err != nil {
2235+
if err := c.setMCPHeaders(req); err != nil {
22372236
c.closeErr = err
22382237
} else if _, err := c.client.Do(req); err != nil {
22392238
c.closeErr = err

0 commit comments

Comments
 (0)