33 lines
938 B
Go
33 lines
938 B
Go
// Package abstract ...
|
|
//
|
|
// Description : abstract ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2025-05-07 14:28
|
|
package abstract
|
|
|
|
import (
|
|
"git.zhangdeman.cn/zhangdeman/network/httpclient/define"
|
|
)
|
|
|
|
// IResponseParser 响应结果的序列化解析器
|
|
type IResponseParser interface {
|
|
// Unmarshal 反序列化解析
|
|
Unmarshal(byteData []byte, receiver any) error
|
|
// MarshalForByte 序列化
|
|
MarshalForByte(input any) ([]byte, error)
|
|
}
|
|
|
|
// IResponse 响应解析
|
|
type IResponse interface {
|
|
// Parse 解析响应
|
|
Parse(reqConfig *define.Request, response *define.Response)
|
|
// BusinessSuccess 业务状态码是否成功
|
|
BusinessSuccess(reqCfg *define.Request, response *define.Response) bool
|
|
// HttpSuccess http状态码是否成功
|
|
HttpSuccess(reqCfg *define.Request, response *define.Response) bool
|
|
// NeedRetry 是否需要重试
|
|
NeedRetry(reqCfg *define.Request, response *define.Response) bool
|
|
}
|