Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ed89e5a

Browse files
committed
smallnest#267 the meta and error may be overwrited
1 parent 1da5fc9 commit ed89e5a

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

โ€Žclient/client.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -525,9 +525,15 @@ func (client *Client) input() {
525525
continue
526526
}
527527
case res.MessageStatusType() == protocol.Error:
528-
// We've got an error response. Give this to the request;
529-
call.Error = ServiceError(res.Metadata[protocol.ServiceError])
530-
call.ResMetadata = res.Metadata
528+
// We've got an error response. Give this to the request
529+
if len(res.Metadata) > 0 {
530+
meta := make(map[string]string, len(res.Metadata))
531+
for k, v := range res.Metadata {
532+
meta[k] = v
533+
}
534+
call.ResMetadata = meta
535+
call.Error = ServiceError(meta[protocol.ServiceError])
536+
}
531537

532538
if call.Raw {
533539
call.Metadata, call.Reply, _ = convertRes2Raw(res)
@@ -550,7 +556,14 @@ func (client *Client) input() {
550556
}
551557
}
552558
}
553-
call.ResMetadata = res.Metadata
559+
if len(res.Metadata) > 0 {
560+
meta := make(map[string]string, len(res.Metadata))
561+
for k, v := range res.Metadata {
562+
meta[k] = v
563+
}
564+
call.ResMetadata = res.Metadata
565+
}
566+
554567
}
555568

556569
call.done()

0 commit comments

Comments
ย (0)