@@ -20,7 +20,6 @@ type HTTPTransport struct {
20
20
closeHandler func ()
21
21
mu sync.RWMutex
22
22
addr string
23
- responseMap map [int64 ]chan * transport.BaseJsonRpcMessage
24
23
}
25
24
26
25
// NewHTTPTransport creates a new HTTP transport that listens on the specified endpoint
@@ -29,7 +28,6 @@ func NewHTTPTransport(endpoint string) *HTTPTransport {
29
28
baseTransport : newBaseTransport (),
30
29
endpoint : endpoint ,
31
30
addr : ":8080" , // Default port
32
- responseMap : make (map [int64 ]chan * transport.BaseJsonRpcMessage ),
33
31
}
34
32
}
35
33
@@ -55,14 +53,27 @@ func (t *HTTPTransport) Start(ctx context.Context) error {
55
53
// Send implements Transport.Send
56
54
func (t * HTTPTransport ) Send (ctx context.Context , message * transport.BaseJsonRpcMessage ) error {
57
55
key := message .JsonRpcResponse .Id
58
- responseChannel := t .responseMap [int64 (key )]
56
+ fmt .Printf ("[Send] Attempting to send response with key: %d\n " , key )
57
+
58
+ responseChannel := t .baseTransport .responseMap [int64 (key )]
59
59
if responseChannel == nil {
60
+ fmt .Printf ("[Send] Response map keys: %v\n " , t .getResponseMapKeys ())
61
+
60
62
return fmt .Errorf ("no response channel found for key: %d" , key )
61
63
}
62
64
responseChannel <- message
63
65
return nil
64
66
}
65
67
68
+ // Helper method to get keys
69
+ func (t * HTTPTransport ) getResponseMapKeys () []int64 {
70
+ keys := make ([]int64 , 0 , len (t .baseTransport .responseMap ))
71
+ for k := range t .baseTransport .responseMap {
72
+ keys = append (keys , k )
73
+ }
74
+ return keys
75
+ }
76
+
66
77
// Close implements Transport.Close
67
78
func (t * HTTPTransport ) Close () error {
68
79
if t .server != nil {
@@ -94,6 +105,7 @@ func (t *HTTPTransport) SetErrorHandler(handler func(error)) {
94
105
func (t * HTTPTransport ) SetMessageHandler (handler func (ctx context.Context , message * transport.BaseJsonRpcMessage )) {
95
106
t .mu .Lock ()
96
107
defer t .mu .Unlock ()
108
+ t .baseTransport .messageHandler = handler
97
109
t .messageHandler = handler
98
110
}
99
111
0 commit comments