93 lines
3.3 KiB
Go
93 lines
3.3 KiB
Go
|
// Package httpclient 基础请求库
|
||
|
//
|
||
|
// Author: go_developer@163.com<白茶清欢>
|
||
|
//
|
||
|
// Description: 基础常量定义
|
||
|
//
|
||
|
// File: define.go
|
||
|
//
|
||
|
// Version: 1.0.0
|
||
|
//
|
||
|
// Date: 2022/05/01 19:56:48
|
||
|
package httpclient
|
||
|
|
||
|
import (
|
||
|
"github.com/ddliu/go-httpclient"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
// ContentTypeFormData form-data 请求
|
||
|
ContentTypeFormData = "form-data"
|
||
|
// ContentTypeFormURLEncoded x-www-form-urlencoded 请求
|
||
|
ContentTypeFormURLEncoded = "application/x-www-form-urlencoded"
|
||
|
// ContentTypeJSON json的请求方式
|
||
|
ContentTypeJSON = "application/json"
|
||
|
// ContentTypeDefault 默认的请求方式
|
||
|
ContentTypeDefault = ContentTypeJSON
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
// BodyTypeJson json数据
|
||
|
BodyTypeJson = "json"
|
||
|
// BodyTypeXML xml数据
|
||
|
BodyTypeXML = "xml"
|
||
|
// BodyTypeYaml yaml数据
|
||
|
BodyTypeYaml = "yaml"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
// DefaultConnectTimeout 默认连接超时时间, 毫秒
|
||
|
DefaultConnectTimeout = 1000
|
||
|
// DefaultReadTimeout 默认读取超时时间, 毫秒
|
||
|
DefaultReadTimeout = 1000
|
||
|
)
|
||
|
|
||
|
// ApiRequestConfig api请求的配置
|
||
|
//
|
||
|
// Author : go_developer@163.com<白茶清欢>
|
||
|
//
|
||
|
// Description:
|
||
|
//
|
||
|
// Date: 2022/05/01 20:14:18
|
||
|
type ApiRequestConfig struct {
|
||
|
Method string `json:"method"` // 请求方法
|
||
|
Domain string `json:"domain"` // 请求域名
|
||
|
URI string `json:"uri"` // 请求的路由
|
||
|
ResponseCodeField string `json:"response_code_field"` // 业务状态码字段
|
||
|
ResponseMessageField string `json:"response_message_field"` // 业务状态码描述的字段
|
||
|
ResponseDataField string `json:"response_data_field"` // 业务数据的字段
|
||
|
SuccessCodeList []string `json:"success_code_list"` // 代表请求成功的code列表
|
||
|
SuccessHttpCodeList []string `json:"success_http_code_list"` // 代表成功的http code列表
|
||
|
Parameter map[string]interface{} `json:"parameter"` // 传入的请求参数
|
||
|
CommonHeader map[string]string `json:"common_header"` // 全部请求都要传的header
|
||
|
Body []byte `json:"-"` // 请求体
|
||
|
FullURL string `json:"full_url"` // 完整请求地址
|
||
|
Timeout Timeout `json:"timeout"` // 超时配置
|
||
|
ContentType string `json:"content_type"` // 请求方法
|
||
|
}
|
||
|
|
||
|
// Timeout 超时配置
|
||
|
//
|
||
|
// Author : go_developer@163.com<白茶清欢>
|
||
|
//
|
||
|
// Date : 15:02 2022/5/2
|
||
|
type Timeout struct {
|
||
|
Connect int `json:"connect"` // 连接超时
|
||
|
Read int `json:"read"` // 读取超时时间
|
||
|
}
|
||
|
|
||
|
// ApiResponse 接口响应结果
|
||
|
//
|
||
|
// Author : go_developer@163.com<白茶清欢>
|
||
|
//
|
||
|
// Description:
|
||
|
//
|
||
|
// Date: 2022/05/01 20:25:39
|
||
|
type ApiResponse struct {
|
||
|
RequestConfig *ApiRequestConfig `json:"request_config"` // 请求配置
|
||
|
Response *httpclient.Response `json:"response"` // 响应体
|
||
|
Exception *Exception `json:"exception"` // 异常信息
|
||
|
StartRequestTime int64 `json:"start_request_time"` // 开始请求时间, 纳秒
|
||
|
FinishRequestTime int64 `json:"finish_request_time"` // 完成请求时间,纳秒
|
||
|
}
|