优化包引入 + 基础配置校验

This commit is contained in:
2025-03-28 14:07:14 +08:00
parent f005012b36
commit ae373db179
7 changed files with 22 additions and 27 deletions

View File

@ -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,