From cca406dca80b74c364f9e47a85b2663dc9a50e66 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Tue, 3 Aug 2021 14:15:32 +0800 Subject: [PATCH] add checkuserresponse --- dtmcli/types.go | 15 +++++++++++++++ dtmcli/xa.go | 5 +---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dtmcli/types.go b/dtmcli/types.go index 8ff0d4f..d716430 100644 --- a/dtmcli/types.go +++ b/dtmcli/types.go @@ -34,6 +34,18 @@ func PanicIfFailure(res interface{}, err error) { } } +// CheckUserResponse 检查Response,返回错误 +func CheckUserResponse(resp *resty.Response, err error) error { + if err == nil && resp != nil { + if resp.IsError() { + return errors.New(resp.String()) + } else if strings.Contains(resp.String(), "FAILURE") { + return ErrUserFailure + } + } + return err +} + // CheckDtmResponse check the response of dtm, if not ok ,generate error func CheckDtmResponse(resp *resty.Response, err error) error { if err != nil { @@ -120,3 +132,6 @@ func callDtmSimple(dtm string, body interface{}, operation string) error { // ErrUserFailure 表示用户返回失败,要求回滚 var ErrUserFailure = errors.New("user return FAILURE") + +// ErrDtmFailure 表示用户返回失败,要求回滚 +var ErrDtmFailure = errors.New("dtm return FAILURE") diff --git a/dtmcli/xa.go b/dtmcli/xa.go index 1eac028..75625e4 100644 --- a/dtmcli/xa.go +++ b/dtmcli/xa.go @@ -149,8 +149,5 @@ func (x *Xa) CallBranch(body interface{}, url string) (*resty.Response, error) { "branch_type": "action", }). Post(url) - if IsFailure(resp, nil) { - err = ErrUserFailure - } - return resp, err + return resp, CheckUserResponse(resp, err) }