httpclient/define/response.go

71 lines
3.2 KiB
Go
Raw Normal View History

2024-05-31 14:57:25 +08:00
// Package define ...
//
// Description : define ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-05-31 12:34
package define
2024-06-01 18:41:26 +08:00
import (
"github.com/go-resty/resty/v2"
)
2024-05-31 14:57:25 +08:00
// Response 响应的数据结构定义
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:34 2024/5/31
type Response struct {
2024-06-14 22:29:41 +08:00
Header map[string]string `json:"header"` // 响应header
Cookie map[string]string `json:"cookie"` // 响应cookie
Data string `json:"data"` // 响应body
Code string `json:"code"` // 业务状态码
Message string `json:"message"` // 业务状态码描述
Body map[string]any `json:"body"` // 响应数据
ExtendData map[string]string `json:"extend_data"` // 除去 code / message / data 之外的其他数据
HttpCode int `json:"http_code"` // http状态码
HttpCodeStatus string `json:"http_code_status"` // http状态码描述
ResponseDataRule map[string]any `json:"response_data_rule"` // 返回数据的验证规则
Seq int `json:"seq"` // 第几次请求
RequestStartTime int64 `json:"request_start_time"` // 请求开始时间 : ms
RequestFinishTime int64 `json:"request_finish_time"` // 请求完成时间 : ms
UsedTime int64 `json:"used_time"` // 请求耗时 : ms
RestyResponse *resty.Response `json:"-"` // 请求返回
IsSuccess bool `json:"is_success"` // 是否请求成功
RequestCount int `json:"request_count"` // 请求次数
FailInfo *ResponseFailInfo `json:"fail_info"` // 请求失败信息记录
CacheInfo *ResponseCacheInfo `json:"cache_info"` // 缓存信息
2024-05-31 14:57:25 +08:00
}
2024-06-01 18:41:26 +08:00
2024-06-05 21:54:06 +08:00
// ResponseFailInfo 失败信息
2024-06-01 18:41:26 +08:00
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 17:48 2024/6/1
2024-06-05 21:54:06 +08:00
type ResponseFailInfo struct {
2024-06-01 18:41:26 +08:00
Type string `json:"type"` // 失败类型
Message string `json:"message"` // 失败信息
}
2024-06-14 22:29:41 +08:00
// ResponseCacheInfo 缓存信息
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 22:26 2024/6/14
type ResponseCacheInfo struct {
IsCache bool `json:"is_cache"` // 是否命中缓存
SetCache bool `json:"set_cache"` // 是否设置缓存
CacheKey string `json:"cache_key"` // 缓存key
CacheValue string `json:"cache_value"` // 缓存值
CacheEnable bool `json:"cache_enable"` // 是否允许缓存
CacheError error `json:"-"` // 缓存是否异常
}
2024-06-01 18:41:26 +08:00
const (
RequestFailTypeSend = "SEND_REQUEST_FAIL" // 发送请求即失败, 问题出现在客户端
RequestFailTypeClientError = "CLIENT_REQUEST_ERROR" // 请求失败, 原因出在客户端, 对应http code 4xx
RequestFailTypeServerError = "SERVER_DEAL_ERROR" // 服务端处理失败, 对应 http code 5xx
RequestFailTypeBusinessError = "SERVICE_BUSINESS_ERROR" // 返回状态码为200, 但是业务状态码非成功
)