// Package curl 基础请求库 // // Author: go_developer@163.com<白茶清欢> // // Description: 基础常量定义 // // File: define.go // // Version: 1.0.0 // // Date: 2022/05/01 19:56:48 package curl 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" ) const ( // BodyTypeJson json数据 BodyTypeJson = "json" // BodyTypeXML xml数据 BodyTypeXML = "xml" // BodyTypeYaml yaml数据 BodyTypeYaml = "yaml" ) // 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"` // 超时配置 } // Timeout 超时配置 // // Author : go_developer@163.com<白茶清欢> // // Date : 15:02 2022/5/2 type Timeout struct { Connect int64 `json:"connect"` // 连接超时 Read int64 `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"` // 完成请求时间,纳秒 }