增加获取httpclient实例方法
This commit is contained in:
parent
cedfa9c3bf
commit
e82dc1353d
@ -46,6 +46,7 @@ type ApiRequestConfig struct {
|
|||||||
SuccessCodeList []string `json:"success_code_list"` // 代表请求成功的code列表
|
SuccessCodeList []string `json:"success_code_list"` // 代表请求成功的code列表
|
||||||
SuccessHttpCodeList []string `json:"success_http_code_list"` // 代表成功的http code列表
|
SuccessHttpCodeList []string `json:"success_http_code_list"` // 代表成功的http code列表
|
||||||
Parameter map[string]interface{} `json:"parameter"` // 传入的请求参数
|
Parameter map[string]interface{} `json:"parameter"` // 传入的请求参数
|
||||||
|
CommonHeader map[string]string `json:"common_header"` // 全部请求都要传的header
|
||||||
Body []byte `json:"-"` // 请求体
|
Body []byte `json:"-"` // 请求体
|
||||||
FullURL string `json:"full_url"` // 完整请求地址
|
FullURL string `json:"full_url"` // 完整请求地址
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/ddliu/go-httpclient"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Request 发送请求
|
// Request 发送请求
|
||||||
@ -23,25 +25,25 @@ import (
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:26:02
|
// Date : 2022/05/01 21:26:02
|
||||||
func Request(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func Request(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
apiConfig.Method = strings.ToUpper(apiConfig.Method)
|
apiConfig.Method = strings.ToUpper(apiConfig.Method)
|
||||||
switch apiConfig.Method {
|
switch apiConfig.Method {
|
||||||
case http.MethodGet:
|
case http.MethodGet:
|
||||||
return GET(apiConfig, param)
|
return GET(apiConfig, header, param)
|
||||||
case http.MethodPost:
|
case http.MethodPost:
|
||||||
return POST(apiConfig, param)
|
return POST(apiConfig, header, param)
|
||||||
case http.MethodPut:
|
case http.MethodPut:
|
||||||
return PUT(apiConfig, param)
|
return PUT(apiConfig, header, param)
|
||||||
case http.MethodDelete:
|
case http.MethodDelete:
|
||||||
return DELETE(apiConfig, param)
|
return DELETE(apiConfig, header, param)
|
||||||
case http.MethodConnect:
|
case http.MethodConnect:
|
||||||
return Connect(apiConfig, param)
|
return Connect(apiConfig, header, param)
|
||||||
case http.MethodOptions:
|
case http.MethodOptions:
|
||||||
return OPTION(apiConfig, param)
|
return OPTION(apiConfig, header, param)
|
||||||
case http.MethodTrace:
|
case http.MethodTrace:
|
||||||
return Trace(apiConfig, param)
|
return Trace(apiConfig, header, param)
|
||||||
case http.MethodPatch:
|
case http.MethodPatch:
|
||||||
return Patch(apiConfig, param)
|
return Patch(apiConfig, header, param)
|
||||||
default:
|
default:
|
||||||
return &ApiResponse{
|
return &ApiResponse{
|
||||||
RequestConfig: apiConfig,
|
RequestConfig: apiConfig,
|
||||||
@ -58,7 +60,7 @@ func Request(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResp
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date: 2022/05/01 21:29:09
|
// Date: 2022/05/01 21:29:09
|
||||||
func GET(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func GET(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -68,7 +70,7 @@ func GET(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:31:36
|
// Date : 2022/05/01 21:31:36
|
||||||
func POST(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func POST(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -78,7 +80,7 @@ func POST(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiRespons
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:31:52
|
// Date : 2022/05/01 21:31:52
|
||||||
func PUT(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func PUT(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -88,7 +90,7 @@ func PUT(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:32:08
|
// Date : 2022/05/01 21:32:08
|
||||||
func DELETE(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func DELETE(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -98,7 +100,7 @@ func DELETE(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiRespo
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:32:18
|
// Date : 2022/05/01 21:32:18
|
||||||
func OPTION(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func OPTION(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -108,7 +110,7 @@ func OPTION(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiRespo
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:36:12
|
// Date : 2022/05/01 21:36:12
|
||||||
func Patch(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func Patch(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -118,7 +120,7 @@ func Patch(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiRespon
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:36:24
|
// Date : 2022/05/01 21:36:24
|
||||||
func Trace(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func Trace(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -128,11 +130,27 @@ func Trace(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiRespon
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 2022/05/01 21:36:39
|
// Date : 2022/05/01 21:36:39
|
||||||
func Connect(apiConfig *ApiRequestConfig, param map[string]interface{}) *ApiResponse {
|
func Connect(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *ApiResponse {
|
||||||
buildRequestURLAndParam(apiConfig, param)
|
buildRequestURLAndParam(apiConfig, param)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getHttpClient 获取httpclient实例
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 22:27 2022/5/1
|
||||||
|
func getHttpClient(apiConfig *ApiRequestConfig, header map[string]string, param map[string]interface{}) *httpclient.HttpClient {
|
||||||
|
fullHeader := make(map[string]string)
|
||||||
|
for name, val := range apiConfig.CommonHeader {
|
||||||
|
fullHeader[name] = val
|
||||||
|
}
|
||||||
|
for name, val := range header {
|
||||||
|
fullHeader[name] = val
|
||||||
|
}
|
||||||
|
return httpclient.NewHttpClient().WithHeaders(fullHeader)
|
||||||
|
}
|
||||||
|
|
||||||
// buildRequestURLAndParam 构建完整请求URL与请求参数
|
// buildRequestURLAndParam 构建完整请求URL与请求参数
|
||||||
//
|
//
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
Loading…
Reference in New Issue
Block a user