优化包引入 + 基础配置校验
This commit is contained in:
4
httpclient/cache/ICache.go
vendored
4
httpclient/cache/ICache.go
vendored
@ -7,7 +7,9 @@
|
||||
// Date : 2024-06-03 15:49
|
||||
package cache
|
||||
|
||||
import "git.zhangdeman.cn/gateway/httpclient/define"
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/network/httpclient/define"
|
||||
)
|
||||
|
||||
// ICache 缓存定义
|
||||
//
|
||||
|
@ -9,9 +9,9 @@ package httpclient
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.zhangdeman.cn/gateway/httpclient/cache"
|
||||
"git.zhangdeman.cn/gateway/httpclient/define"
|
||||
"git.zhangdeman.cn/gateway/httpclient/validate"
|
||||
"git.zhangdeman.cn/zhangdeman/network/httpclient/cache"
|
||||
"git.zhangdeman.cn/zhangdeman/network/httpclient/define"
|
||||
"git.zhangdeman.cn/zhangdeman/network/httpclient/validate"
|
||||
"git.zhangdeman.cn/zhangdeman/serialize"
|
||||
"github.com/go-resty/resty/v2"
|
||||
"github.com/tidwall/gjson"
|
||||
|
@ -13,5 +13,6 @@ var (
|
||||
ErrRequestConfigNil = errors.New("REQUEST_CONFIG_NIL") // 请求配置 nil
|
||||
ErrFullUrlEmpty = errors.New("FULL_URL_EMPTY") // 没传 full_url
|
||||
ErrFullUrlInvalid = errors.New("FULL_URL_Invalid") // 请求 full_url 不是 http 或者 https 开头
|
||||
ErrMethodIsEmpty = errors.New("METHOD_IS_EMPTY") // 请求 方法为空
|
||||
ErrMethodIsNotSupport = errors.New("METHOD_IS_NOT_SUPPORT") // 请求 method不支持
|
||||
)
|
||||
|
@ -9,8 +9,8 @@ package httpclient
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"git.zhangdeman.cn/gateway/httpclient/define"
|
||||
"git.zhangdeman.cn/zhangdeman/consts"
|
||||
"git.zhangdeman.cn/zhangdeman/network/httpclient/define"
|
||||
"git.zhangdeman.cn/zhangdeman/serialize"
|
||||
"github.com/go-resty/resty/v2"
|
||||
"github.com/tidwall/gjson"
|
||||
|
@ -8,8 +8,10 @@
|
||||
package validate
|
||||
|
||||
import (
|
||||
"git.zhangdeman.cn/gateway/httpclient/define"
|
||||
"git.zhangdeman.cn/zhangdeman/network/httpclient/define"
|
||||
"git.zhangdeman.cn/zhangdeman/consts"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@ -50,7 +52,12 @@ func (rc *requestConfig) initDefaultConfig(reqConfig *define.Request) {
|
||||
reqConfig.Header = map[string]string{}
|
||||
}
|
||||
if len(reqConfig.ContentType) > 0 {
|
||||
reqConfig.Header["Content-Type"] = reqConfig.ContentType
|
||||
reqConfig.Header[consts.HeaderKeyContentType.String()] = reqConfig.ContentType
|
||||
} else {
|
||||
if len(reqConfig.Header[consts.HeaderKeyContentType.String()]) == 0 {
|
||||
// 没配置Content-Type, 默认JSON
|
||||
reqConfig.Header[consts.HeaderKeyContentType.String()] = consts.MimeTypeJson
|
||||
}
|
||||
}
|
||||
if nil == reqConfig.Cookie {
|
||||
reqConfig.Cookie = map[string]string{}
|
||||
@ -89,7 +96,7 @@ func (rc *requestConfig) validateFullUrl(reqConfig *define.Request) error {
|
||||
if len(reqConfig.FullUrl) == 0 {
|
||||
return define.ErrFullUrlEmpty
|
||||
}
|
||||
if !strings.HasPrefix(reqConfig.FullUrl, "http://") && !strings.HasPrefix(reqConfig.FullUrl, "https://") {
|
||||
if _, err := url.Parse(reqConfig.FullUrl); nil != err {
|
||||
return define.ErrFullUrlInvalid
|
||||
}
|
||||
return nil
|
||||
@ -104,7 +111,7 @@ func (rc *requestConfig) validateMethod(reqConfig *define.Request) error {
|
||||
// 验证Method
|
||||
reqConfig.Method = strings.ToUpper(reqConfig.Method)
|
||||
if len(reqConfig.Method) == 0 {
|
||||
return define.ErrFullUrlEmpty
|
||||
return define.ErrMethodIsEmpty
|
||||
}
|
||||
supportMethodList := []string{
|
||||
http.MethodGet,
|
||||
|
Reference in New Issue
Block a user