1 Star 0 Fork 1

go-genie/httptransport

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
utils.go 1.87 KB
一键复制 编辑 原始数据 按行查看 历史
lijun 提交于 2024-02-20 15:25 . feat:update version
package openapi
import (
"go/types"
"reflect"
"strings"
"gitee.com/go-genie/courier"
"gitee.com/go-genie/httptransport/httpx"
"gitee.com/go-genie/packagesx"
"gitee.com/go-genie/httptransport"
)
const (
XID = "x-id"
XGoVendorType = `x-go-vendor-type`
XGoStarLevel = `x-go-star-level`
XGoFieldName = `x-go-field-name`
XTagValidate = `x-tag-validate`
XTagMime = `x-tag-mime`
XTagJSON = `x-tag-json`
XTagXML = `x-tag-xml`
XTagName = `x-tag-name`
XEnumLabels = `x-enum-labels`
// Deprecated use XEnumLabels
XEnumOptions = `x-enum-options`
XStatusErrs = `x-status-errors`
)
var (
pkgImportPathHttpTransport = packagesx.ImportGoPath(reflect.TypeOf(httptransport.HttpRouteMeta{}).PkgPath())
pkgImportPathHttpx = packagesx.ImportGoPath(reflect.TypeOf(httpx.Response{}).PkgPath())
pkgImportPathCourier = packagesx.ImportGoPath(reflect.TypeOf(courier.Router{}).PkgPath())
)
func isRouterType(typ types.Type) bool {
return strings.HasSuffix(typ.String(), pkgImportPathCourier+".Router")
}
func isHttpxResponse(typ types.Type) bool {
return strings.HasSuffix(typ.String(), pkgImportPathHttpx+".Response")
}
func isFromHttpTransport(typ types.Type) bool {
return strings.Contains(typ.String(), pkgImportPathHttpTransport+".")
}
func tagValueAndFlagsByTagString(tagString string) (string, map[string]bool) {
valueAndFlags := strings.Split(tagString, ",")
v := valueAndFlags[0]
tagFlags := map[string]bool{}
if len(valueAndFlags) > 1 {
for _, flag := range valueAndFlags[1:] {
tagFlags[flag] = true
}
}
return v, tagFlags
}
func filterMarkedLines(comments []string) []string {
lines := make([]string, 0)
for _, line := range comments {
if !strings.HasPrefix(line, "@") {
lines = append(lines, line)
}
}
return lines
}
func dropMarkedLines(lines []string) string {
return strings.Join(filterMarkedLines(lines), "\n")
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/go-genie/httptransport.git
git@gitee.com:go-genie/httptransport.git
go-genie
httptransport
httptransport
v1.0.2

搜索帮助