diff --git a/protocol/json/client.go b/protocol/json/client.go index e5fe5de..0a0adea 100644 --- a/protocol/json/client.go +++ b/protocol/json/client.go @@ -110,28 +110,28 @@ func newClientCodecResponseOrNotify(r io.Reader, encoder encode.Encoder) (protoc ccrn := retainClientCodecResponseOrNotify() - // if notify, err := newClientCodecNotify(raw); nil != err { - // res, err := newClientCodecResponse(raw) - // if nil != err { - // releaseClientCodecResponseOrNotify(ccrn) - // return nil, fmt.Errorf("Is not response or notification [%v]", raw) - // } - // ccrn.response = res - // } else { - // ccrn.notify = notify - // } - - if res, err := newClientCodecResponse(raw); nil != err { - notify, err := newClientCodecNotify(raw) + if notify, err := newClientCodecNotify(raw); nil != err { + res, err := newClientCodecResponse(raw) if nil != err { releaseClientCodecResponseOrNotify(ccrn) return nil, fmt.Errorf("Is not response or notification [%v]", raw) } - ccrn.notify = notify - } else { ccrn.response = res + } else { + ccrn.notify = notify } + // if res, err := newClientCodecResponse(raw); nil != err { + // notify, err := newClientCodecNotify(raw) + // if nil != err { + // releaseClientCodecResponseOrNotify(ccrn) + // return nil, fmt.Errorf("Is not response or notification [%v]", raw) + // } + // ccrn.notify = notify + // } else { + // ccrn.response = res + // } + return ccrn, nil }