diff --git a/utils/app.go b/utils/app.go index e63aff7..d18d8aa 100644 --- a/utils/app.go +++ b/utils/app.go @@ -68,6 +68,7 @@ func init() { Format.Query = FormatQuery Parse.ParamsBefore = ParseParamsBefore Parse.Params = ParseParams + Parse.Domain = ParseDomain Net.Tcping = NetTcping Mime.Type = MimeType Map.WithField = MapWithField[map[string]any] @@ -172,6 +173,7 @@ var Format struct { var Parse struct { ParamsBefore func(params url.Values) (result map[string]any) Params func(params map[string]any) (result map[string]any) + Domain func(value any) (domain string) } var Net struct { diff --git a/utils/parse.go b/utils/parse.go index e13cec6..47c12e9 100644 --- a/utils/parse.go +++ b/utils/parse.go @@ -166,4 +166,13 @@ func ParseParams(params map[string]any) (result map[string]any) { wg.Wait() return wr.Data +} + +// ParseDomain - 解析域名 +func ParseDomain(value any) (domain string) { + URL, err := url.Parse(cast.ToString(value)) + if err != nil { + return "" + } + return URL.Hostname() } \ No newline at end of file