File tree Expand file tree Collapse file tree 1 file changed +17
-11
lines changed Expand file tree Collapse file tree 1 file changed +17
-11
lines changed Original file line number Diff line number Diff line change 61
61
DefaultTimeout = time .Minute
62
62
)
63
63
64
-
65
-
66
64
func configure (n * ntport , opts ... transport.Option ) {
67
65
for _ , o := range opts {
68
66
o (& n .opts )
@@ -121,21 +119,28 @@ func (n *ntportClient) Remote() string {
121
119
}
122
120
123
121
func (n * ntportClient ) Send (m * transport.Message ) error {
124
- b , err := n .opts .Codec .Marshal (m )
125
- if err != nil {
126
- return err
122
+ header := nats.Header {}
123
+ for k , v := range m .Header {
124
+ header .Add (k , v )
125
+ }
126
+
127
+ msg := & nats.Msg {
128
+ Subject : n .addr ,
129
+ Reply : n .id ,
130
+ Header : header ,
131
+ Data : m .Body ,
127
132
}
128
133
129
134
// no deadline
130
135
if n .opts .Timeout == time .Duration (0 ) {
131
- return n .conn .PublishRequest ( n . addr , n . id , b )
136
+ return n .conn .PublishMsg ( msg )
132
137
}
133
138
134
139
// use the deadline
135
140
ch := make (chan error , 1 )
136
141
137
142
go func () {
138
- ch <- n .conn .PublishRequest ( n . addr , n . id , b )
143
+ ch <- n .conn .PublishMsg ( msg )
139
144
}()
140
145
141
146
select {
@@ -157,12 +162,13 @@ func (n *ntportClient) Recv(m *transport.Message) error {
157
162
return err
158
163
}
159
164
160
- var mr transport. Message
161
- if err := n . opts . Codec . Unmarshal ( rsp .Data , & mr ); err != nil {
162
- return err
165
+ m . Header = make ( map [ string ] string )
166
+ for k , v := range rsp .Header {
167
+ m . Header [ k ] = v [ 0 ]
163
168
}
164
169
165
- * m = mr
170
+ m .Body = rsp .Data
171
+
166
172
return nil
167
173
}
168
174
You can’t perform that action at this time.
0 commit comments