Documentation
¶
Index ¶
- Constants
- type APPAddHttpInput
- type APPDetailInput
- type APPListInput
- type APPListItemOutput
- type APPListOutput
- type APPUpdateHttpInput
- type Admin
- type AdminInfoOutput
- type AdminLoginInput
- type AdminLoginOutput
- type AdminSessionInfo
- type App
- type ChangePwdInput
- type DashServiceStatItemOutput
- type DashServiceStatOutput
- type HTTPProxyMiddleware
- type PanelGroupDataOutput
- type PluginConfig
- type PluginConfigs
- type PluginFieldClear
- type PluginFieldDisplay
- type PluginFieldType
- type PluginItemConfig
- type PluginPosition
- type ServiceAddGrpcInput
- type ServiceAddInput
- type ServiceAddTcpInput
- type ServiceDeleteInput
- type ServiceDetail
- type ServiceDetailInput
- type ServiceInfo
- func (t *ServiceInfo) Delete(c *gin.Context, tx *gorm.DB, search *ServiceInfo) error
- func (t *ServiceInfo) Find(c *gin.Context, tx *gorm.DB, search *ServiceInfo) (*ServiceInfo, error)
- func (t *ServiceInfo) GroupByLoadType(c *gin.Context, tx *gorm.DB) ([]DashServiceStatItemOutput, error)
- func (t *ServiceInfo) PageList(c *gin.Context, tx *gorm.DB, param *ServiceListInput) ([]ServiceInfo, int64, error)
- func (t *ServiceInfo) Save(c *gin.Context, tx *gorm.DB) error
- func (t *ServiceInfo) ServiceDetail(c *gin.Context, tx *gorm.DB, info *ServiceInfo) (*ServiceDetail, error)
- func (t *ServiceInfo) TableName() string
- type ServiceListInput
- type ServiceListItemOutput
- type ServiceListOutput
- type ServiceStatOutput
- type ServiceUpdateGrpcInput
- type ServiceUpdateInput
- type ServiceUpdateTcpInput
- type StatisticsOutput
- type TokensInput
- type TokensOutput
- type UpstreamConfig
Constants ¶
View Source
const ( PLUGIN_POSITION_HIDDEN PluginPosition = "hidden" //隐藏形式 PLUGIN_POSITION_NORMAL PluginPosition = "normal" //文档流动形式向下展示 PLUGIN_POSITION_AUTH PluginPosition = "auth" //下拉选择认证类型 PLUGIN_POSITION_LOADBALANCE PluginPosition = "loadbalance" //下拉选择负载类型 PLUGIN_FIELD_TYPE_INPUT PluginFieldType = "input" //文字 PLUGIN_FIELD_TYPE_TEXTAREA PluginFieldType = "textarea" //文本域 PLUGIN_FIELD_TYPE_RADIO PluginFieldType = "radio" //单选 PLUGIN_FIELD_TYPE_CHECKBOX PluginFieldType = "checkbox" //多选 PLUGIN_FIELD_TYPE_SELECT PluginFieldType = "select" //下拉 PLUGIN_FIELD_TYPE_SWITCH PluginFieldType = "switch" //开关 PLUGIN_FIELD_DISPLAY_INLINE PluginFieldDisplay = "inline" //内联 PLUGIN_FIELD_DISPLAY_BLOCK PluginFieldDisplay = "block" //块级 PLUGIN_FIELD_CLEAR_NONE PluginFieldClear = "none" //默认 PLUGIN_FIELD_CLEAR_LEFT PluginFieldClear = "left" //左边 PLUGIN_FIELD_CLEAR_RIGHT PluginFieldClear = "right" //右边 PLUGIN_FIELD_CLEAR_BOTH PluginFieldClear = "both" //两边 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APPAddHttpInput ¶
type APPAddHttpInput struct {
AppID string `json:"app_id" form:"app_id" comment:"�租户id" validate:"required"`
Name string `json:"name" form:"name" comment:"租户名称" validate:"required"`
Secret string `json:"secret" form:"secret" comment:"密钥" validate:""`
WhiteIPS string `json:"white_ips" form:"white_ips" comment:"ip白名单,支持前缀匹配"`
Qpd int64 `json:"qpd" form:"qpd" comment:"日请求量限制" validate:""`
Qps int64 `json:"qps" form:"qps" comment:"每秒请求量限制" validate:""`
}
func (*APPAddHttpInput) GetValidParams ¶
func (params *APPAddHttpInput) GetValidParams(c *gin.Context) error
type APPDetailInput ¶
type APPDetailInput struct {
ID int64 `json:"id" form:"id" comment:"租户ID" validate:"required"`
}
func (*APPDetailInput) GetValidParams ¶
func (params *APPDetailInput) GetValidParams(c *gin.Context) error
type APPListInput ¶
type APPListInput struct {
Info string `json:"info" form:"info" comment:"查找信息" validate:""`
PageSize int `json:"page_size" form:"page_size" comment:"页数" validate:"required,min=1,max=999"`
PageNo int `json:"page_no" form:"page_no" comment:"页码" validate:"required,min=1,max=999"`
}
func (*APPListInput) GetValidParams ¶
func (params *APPListInput) GetValidParams(c *gin.Context) error
type APPListItemOutput ¶
type APPListItemOutput struct {
ID int64 `json:"id" gorm:"primary_key"`
AppID string `json:"app_id" gorm:"column:app_id" description:"�租户id "`
Name string `json:"name" gorm:"column:name" description:"租户名称 "`
Secret string `json:"secret" gorm:"column:secret" description:"密钥"`
WhiteIPS string `json:"white_ips" gorm:"column:white_ips" description:"ip白名单,支持前缀匹配 "`
Qpd int64 `json:"qpd" gorm:"column:qpd" description:"日请求量限制"`
Qps int64 `json:"qps" gorm:"column:qps" description:"每秒请求量限制"`
RealQpd int64 `json:"real_qpd" description:"日请求量限制"`
RealQps int64 `json:"real_qps" description:"每秒请求量限制"`
UpdatedAt time.Time `json:"create_at" gorm:"column:create_at" description:"添加时间 "`
CreatedAt time.Time `json:"update_at" gorm:"column:update_at" description:"更新时间"`
IsDelete int8 `json:"is_delete" gorm:"column:is_delete" description:"是否已删除;0:否;1:是"`
}
type APPListOutput ¶
type APPListOutput struct {
List []APPListItemOutput `json:"list" form:"list" comment:"租户列表"`
Total int64 `json:"total" form:"total" comment:"租户总数"`
}
type APPUpdateHttpInput ¶
type APPUpdateHttpInput struct {
ID int64 `json:"id" form:"id" gorm:"column:id" comment:"主键ID" validate:"required"`
AppID string `json:"app_id" form:"app_id" gorm:"column:app_id" comment:"租户id" validate:""`
Name string `json:"name" form:"name" gorm:"column:name" comment:"租户名称" validate:"required"`
Secret string `json:"secret" form:"secret" gorm:"column:secret" comment:"密钥" validate:"required"`
WhiteIPS string `json:"white_ips" form:"white_ips" gorm:"column:white_ips" comment:"ip白名单,支持前缀匹配 "`
Qpd int64 `json:"qpd" form:"qpd" gorm:"column:qpd" comment:"日请求量限制"`
Qps int64 `json:"qps" form:"qps" gorm:"column:qps" comment:"每秒请求量限制"`
}
func (*APPUpdateHttpInput) GetValidParams ¶
func (params *APPUpdateHttpInput) GetValidParams(c *gin.Context) error
type Admin ¶
type Admin struct {
Id int `json:"id" gorm:"primary_key" description:"自增主键"`
UserName string `json:"user_name" gorm:"column:user_name" description:"管理员用户名"`
Salt string `json:"salt" gorm:"column:salt" description:"盐"`
Password string `json:"password" gorm:"column:password" description:"密码"`
UpdatedAt time.Time `json:"update_at" gorm:"column:update_at" description:"更新时间"`
CreatedAt time.Time `json:"create_at" gorm:"column:create_at" description:"创建时间"`
IsDelete int `json:"is_delete" gorm:"column:is_delete" description:"是否删除"`
}
func (*Admin) LoginCheck ¶
type AdminInfoOutput ¶
type AdminLoginInput ¶
type AdminLoginInput struct {
UserName string `json:"username" form:"username" comment:"管理员用户名" example:"admin" validate:"required,valid_username"` //管理员用户名
Password string `json:"password" form:"password" comment:"密码" example:"123456" validate:"required"` //密码
}
func (*AdminLoginInput) BindValidParam ¶
func (param *AdminLoginInput) BindValidParam(c *gin.Context) error
type AdminLoginOutput ¶
type AdminLoginOutput struct {
Token string `json:"token" form:"token" comment:"token" example:"token" validate:""` //token
}
type AdminSessionInfo ¶
type App ¶
type App struct {
ID int64 `json:"id" gorm:"primary_key"`
AppID string `json:"app_id" gorm:"column:app_id" description:"租户id"`
Name string `json:"name" gorm:"column:name" description:"租户名称 "`
Secret string `json:"secret" gorm:"column:secret" description:"密钥"`
WhiteIPS string `json:"white_ips" gorm:"column:white_ips" description:"ip白名单,支持前缀匹配"`
Qpd int64 `json:"qpd" gorm:"column:qpd" description:"日请求量限制"`
Qps int64 `json:"qps" gorm:"column:qps" description:"每秒请求量限制"`
CreatedAt time.Time `json:"create_at" gorm:"column:create_at" description:"添加时间 "`
UpdatedAt time.Time `json:"update_at" gorm:"column:update_at" description:"更新时间"`
IsDelete int8 `json:"is_delete" gorm:"column:is_delete" description:"是否已删除;0:否;1:是"`
}
type ChangePwdInput ¶
type ChangePwdInput struct {
Password string `json:"password" form:"password" comment:"密码" example:"123456" validate:"required"` //密码
}
func (*ChangePwdInput) BindValidParam ¶
func (param *ChangePwdInput) BindValidParam(c *gin.Context) error
type DashServiceStatOutput ¶
type DashServiceStatOutput struct {
Legend []string `json:"legend"`
Data []DashServiceStatItemOutput `json:"data"`
}
type HTTPProxyMiddleware ¶
type HTTPProxyMiddleware interface {
Configration()
GetConfig() *PluginConfig
Handler(c *gin.Context)
}
type PanelGroupDataOutput ¶
type PluginConfig ¶
type PluginConfig struct {
DisplayName string `toml:"display_name" json:"display_name"` //插件名
Sort int `toml:"sort" json:"sort"` //显示顺序
Postion PluginPosition `toml:"postion" json:"postion"` //显示位置
UniqueName string `toml:"unique_name" json:"unique_name"` //唯一名称
Items []PluginItemConfig `toml:"items" json:"items"`
}
type PluginConfigs ¶
type PluginConfigs struct {
HTTP []PluginConfig `toml:"http" json:"http"`
TCP []PluginConfig `toml:"tcp" json:"tcp"`
GRCP []PluginConfig `toml:"grpc" json:"grpc"`
}
func GetPluginConfig ¶
func GetPluginConfig() (*PluginConfigs, error)
type PluginFieldClear ¶
type PluginFieldClear string
type PluginFieldDisplay ¶
type PluginFieldDisplay string
type PluginFieldType ¶
type PluginFieldType string
type PluginItemConfig ¶
type PluginItemConfig struct {
FieldType PluginFieldType `toml:"field_type" json:"field_type"` //表单类型 文字=input,文本域=textarea,单选=radio,多选=checkbox,下拉=select,开关=switch
FieldDisplay PluginFieldDisplay `toml:"field_display" json:"field_display"` //显示样式 内联=inline,块=black
FieldClear PluginFieldClear `toml:"field_clear" json:"field_clear"` //显示清空 清空左=left
FieldPlaceholder string `toml:"field_placeholder" json:"field_placeholder"` //占位符
FieldOption string `toml:"field_option" json:"field_option"` //可选值,radio、check、select时的value
FieldValue string `toml:"field_value" json:"field_value"` //字段值
FieldDefaultValue string `toml:"field_default_value" json:"field_default_value"` //字段默认值,checkbox时 111|222 表示选中多个值
FieldUniqueName string `toml:"field_unique_name" json:"field_unique_name"` //字段唯一标识
FieldDisplayName string `toml:"field_display_name" json:"field_display_name"` //字段显示名称,radio、check、select时的name
FieldRequired bool `toml:"field_required" json:"field_required"` //是否必填
FieldValidRule string `toml:"field_valid_rule" json:"field_valid_rule"` //验证规则
}
type PluginPosition ¶
type PluginPosition string
type ServiceAddGrpcInput ¶
type ServiceAddGrpcInput struct {
ServiceName string `json:"service_name" form:"service_name" comment:"服务名称" validate:"required,valid_service_name"`
ServiceDesc string `json:"service_desc" form:"service_desc" comment:"服务描述" validate:"required"`
Port int `json:"port" form:"port" comment:"端口,需要设置8001-8999范围内" validate:"required,min=8001,max=8999"`
HeaderTransfor string `json:"header_transfor" form:"header_transfor" comment:"metadata转换" validate:"valid_header_transfor"`
OpenAuth int `json:"open_auth" form:"open_auth" comment:"是否开启权限验证" validate:""`
BlackList string `` /* 135-byte string literal not displayed */
WhiteList string `` /* 135-byte string literal not displayed */
WhiteHostName string `json:"white_host_name" form:"white_host_name" comment:"白名单主机,以逗号间隔" validate:"valid_iplist"`
ClientIPFlowLimit int `json:"clientip_flow_limit" form:"clientip_flow_limit" comment:"客户端IP限流" validate:""`
ServiceFlowLimit int `json:"service_flow_limit" form:"service_flow_limit" comment:"服务端限流" validate:""`
RoundType int `json:"round_type" form:"round_type" comment:"轮询策略" validate:""`
IpList string `json:"ip_list" form:"ip_list" comment:"IP列表" validate:"required,valid_ipportlist"`
WeightList string `json:"weight_list" form:"weight_list" comment:"权重列表" validate:"required,valid_weightlist"`
ForbidList string `json:"forbid_list" form:"forbid_list" comment:"禁用IP列表" validate:"valid_iplist"`
}
func (*ServiceAddGrpcInput) GetValidParams ¶
func (params *ServiceAddGrpcInput) GetValidParams(c *gin.Context) error
type ServiceAddInput ¶
type ServiceAddInput struct {
ServiceName string `json:"service_name" form:"service_name" comment:"服务名称" example:"" validate:"required,valid_service_name"` //服务名称
ServiceDesc string `json:"service_desc" form:"service_desc" comment:"服务描述" example:"" validate:"required,max=255,min=1"` //服务描述
LoadType int `json:"load_type" form:"load_type" comment:"负载类型 0=http 1=tcp 2=grpc"`
HTTPHosts string `json:"http_hosts" form:"http_hosts" comment:"域名信息" example:"" validate:""`
HTTPPaths string `json:"http_paths" form:"http_paths" comment:"路径信息" example:"" validate:""`
NeedStripUri int `json:"need_strip_uri" form:"need_strip_uri" comment:"启用strip_uri" example:"" validate:""` //启用strip_uri
Port int `json:"port" form:"port" comment:"tcp/grpc端口"`
LoadBalanceStrategy string `json:"load_balance_strategy" form:"load_balance_strategy" comment:"负载策略"`
LoadBalanceType string `json:"load_balance_type" form:"load_balance_type" comment:"负载类型"`
AuthType string `json:"auth_type" form:"auth_type" comment:"鉴权类型"`
UpstreamList string `json:"upstream_list" form:"upstream_list" comment:"下游服务器ip和权重"`
PluginConf string `json:"plugin_conf" form:"plugin_conf" comment:"插件配置"`
}
func (*ServiceAddInput) BindValidParam ¶
func (param *ServiceAddInput) BindValidParam(c *gin.Context) error
type ServiceAddTcpInput ¶
type ServiceAddTcpInput struct {
ServiceName string `json:"service_name" form:"service_name" comment:"服务名称" validate:"required,valid_service_name"`
ServiceDesc string `json:"service_desc" form:"service_desc" comment:"服务描述" validate:"required"`
Port int `json:"port" form:"port" comment:"端口,需要设置8001-8999范围内" validate:"required,min=8001,max=8999"`
HeaderTransfor string `json:"header_transfor" form:"header_transfor" comment:"header头转换" validate:"
"`
OpenAuth int `json:"open_auth" form:"open_auth" comment:"是否开启权限验证" validate:""`
BlackList string `` /* 135-byte string literal not displayed */
WhiteList string `` /* 135-byte string literal not displayed */
WhiteHostName string `json:"white_host_name" form:"white_host_name" comment:"白名单主机,以逗号间隔" validate:"valid_iplist"`
ClientIPFlowLimit int `json:"clientip_flow_limit" form:"clientip_flow_limit" comment:"客户端IP限流" validate:""`
ServiceFlowLimit int `json:"service_flow_limit" form:"service_flow_limit" comment:"服务端限流" validate:""`
RoundType int `json:"round_type" form:"round_type" comment:"轮询策略" validate:""`
IpList string `json:"ip_list" form:"ip_list" comment:"IP列表" validate:"required,valid_ipportlist"`
WeightList string `json:"weight_list" form:"weight_list" comment:"权重列表" validate:"required,valid_weightlist"`
ForbidList string `json:"forbid_list" form:"forbid_list" comment:"禁用IP列表" validate:"valid_iplist"`
}
func (*ServiceAddTcpInput) GetValidParams ¶
func (params *ServiceAddTcpInput) GetValidParams(c *gin.Context) error
type ServiceDeleteInput ¶
type ServiceDeleteInput struct {
ID int64 `json:"id" form:"id" comment:"服务ID" example:"56" validate:"required"` //服务ID
}
func (*ServiceDeleteInput) BindValidParam ¶
func (param *ServiceDeleteInput) BindValidParam(c *gin.Context) error
type ServiceDetail ¶
type ServiceDetail struct {
Info *ServiceInfo `json:"info" description:"基本信息"`
PluginConf *simplejson.Json `json:"plugin_conf" description:"plugin_conf"`
}
func GetServiceDetailFromGinContext ¶
func GetServiceDetailFromGinContext(c *gin.Context) (*ServiceDetail, error)
type ServiceDetailInput ¶
type ServiceDetailInput struct {
ID int64 `json:"id" form:"id" comment:"服务ID" example:"56" validate:"required"` //服务ID
}
func (*ServiceDetailInput) BindValidParam ¶
func (param *ServiceDetailInput) BindValidParam(c *gin.Context) error
type ServiceInfo ¶
type ServiceInfo struct {
ID int64 `json:"id" gorm:"primary_key"`
ServiceType int `json:"service_type" gorm:"column:service_type" description:"服务类型 0=http 1=tcp 2=grpc"`
ServiceName string `json:"service_name" gorm:"column:service_name" description:"服务名称"`
ServiceDesc string `json:"service_desc" gorm:"column:service_desc" description:"服务描述"`
ServicePort int `json:"service_port" gorm:"column:service_port" description:"服务端口(只针对 tcp/grpc)"`
HTTPHosts string `json:"http_hosts" gorm:"column:http_hosts" description:"域名信息"`
HTTPPaths string `json:"http_paths" gorm:"column:http_paths" description:"路径信息"`
HttpStripPrefix int `json:"http_strip_prefix" gorm:"column:http_strip_prefix" description:"http转发前剥离前缀"`
LoadBalanceStrategy string `json:"load_balance_strategy" gorm:"column:load_balance_strategy" description:"负载策略"`
LoadBalanceType string `json:"load_balance_type" gorm:"column:load_balance_type" description:"负载类型"`
AuthType string `json:"auth_type" gorm:"column:auth_type" description:"鉴权类型"`
UpstreamList string `json:"upstream_list" form:"upstream_list" comment:"下游服务器ip和权重"`
PluginConf string `json:"plugin_conf" gorm:"column:plugin_conf" description:"插件配置"`
CreatedAt time.Time `json:"create_at" gorm:"column:create_at" description:"更新时间"`
UpdatedAt time.Time `json:"update_at" gorm:"column:update_at" description:"添加时间"`
IsDelete int8 `json:"is_delete" gorm:"column:is_delete" description:"是否已删除;0:否;1:是"`
}
func (*ServiceInfo) Delete ¶
func (t *ServiceInfo) Delete(c *gin.Context, tx *gorm.DB, search *ServiceInfo) error
func (*ServiceInfo) Find ¶
func (t *ServiceInfo) Find(c *gin.Context, tx *gorm.DB, search *ServiceInfo) (*ServiceInfo, error)
func (*ServiceInfo) GroupByLoadType ¶
func (t *ServiceInfo) GroupByLoadType(c *gin.Context, tx *gorm.DB) ([]DashServiceStatItemOutput, error)
func (*ServiceInfo) PageList ¶
func (t *ServiceInfo) PageList(c *gin.Context, tx *gorm.DB, param *ServiceListInput) ([]ServiceInfo, int64, error)
func (*ServiceInfo) ServiceDetail ¶
func (t *ServiceInfo) ServiceDetail(c *gin.Context, tx *gorm.DB, info *ServiceInfo) (*ServiceDetail, error)
func (*ServiceInfo) TableName ¶
func (t *ServiceInfo) TableName() string
type ServiceListInput ¶
type ServiceListInput struct {
Info string `json:"info" form:"info" comment:"关键词" example:"" validate:""` //关键词
PageNo int `json:"page_no" form:"page_no" comment:"页数" example:"1" validate:"required"` //页数
PageSize int `json:"page_size" form:"page_size" comment:"每页条数" example:"20" validate:"required"` //每页条数
}
func (*ServiceListInput) BindValidParam ¶
func (param *ServiceListInput) BindValidParam(c *gin.Context) error
type ServiceListItemOutput ¶
type ServiceListItemOutput struct {
ID int64 `json:"id" form:"id"` //id
ServiceName string `json:"service_name" form:"service_name"` //服务名称
ServiceDesc string `json:"service_desc" form:"service_desc"` //服务描述
LoadType int `json:"load_type" form:"load_type"` //类型
ServiceAddr string `json:"service_addr" form:"service_addr"` //服务地址
Qps int64 `json:"qps" form:"qps"` //qps
Qpd int64 `json:"qpd" form:"qpd"` //qpd
TotalNode int `json:"total_node" form:"total_node"` //节点数
ActiveNode int `json:"active_node" form:"active_node"` //活跃的节点数
}
type ServiceListOutput ¶
type ServiceListOutput struct {
Total int64 `json:"total" form:"total" comment:"总数" example:"" validate:""` //总数
List []ServiceListItemOutput `json:"list" form:"list" comment:"列表" example:"" validate:""` //列表
}
type ServiceStatOutput ¶
type ServiceUpdateGrpcInput ¶
type ServiceUpdateGrpcInput struct {
ID int64 `json:"id" form:"id" comment:"服务ID" validate:"required"`
ServiceName string `json:"service_name" form:"service_name" comment:"服务名称" validate:"required,valid_service_name"`
ServiceDesc string `json:"service_desc" form:"service_desc" comment:"服务描述" validate:"required"`
Port int `json:"port" form:"port" comment:"端口,需要设置8001-8999范围内" validate:"required,min=8001,max=8999"`
HeaderTransfor string `json:"header_transfor" form:"header_transfor" comment:"metadata转换" validate:"valid_header_transfor"`
OpenAuth int `json:"open_auth" form:"open_auth" comment:"是否开启权限验证" validate:""`
BlackList string `` /* 135-byte string literal not displayed */
WhiteList string `` /* 135-byte string literal not displayed */
WhiteHostName string `json:"white_host_name" form:"white_host_name" comment:"白名单主机,以逗号间隔" validate:"valid_iplist"`
ClientIPFlowLimit int `json:"clientip_flow_limit" form:"clientip_flow_limit" comment:"客户端IP限流" validate:""`
ServiceFlowLimit int `json:"service_flow_limit" form:"service_flow_limit" comment:"服务端限流" validate:""`
RoundType int `json:"round_type" form:"round_type" comment:"轮询策略" validate:""`
IpList string `json:"ip_list" form:"ip_list" comment:"IP列表" validate:"required,valid_ipportlist"`
WeightList string `json:"weight_list" form:"weight_list" comment:"权重列表" validate:"required,valid_weightlist"`
ForbidList string `json:"forbid_list" form:"forbid_list" comment:"禁用IP列表" validate:"valid_iplist"`
}
func (*ServiceUpdateGrpcInput) GetValidParams ¶
func (params *ServiceUpdateGrpcInput) GetValidParams(c *gin.Context) error
type ServiceUpdateInput ¶
type ServiceUpdateInput struct {
ID int64 `json:"id" form:"id" comment:"服务ID" example:"62" validate:"required,min=1"` //服务ID
ServiceName string `json:"service_name" form:"service_name" comment:"服务名称" example:"" validate:"required,valid_service_name"` //服务名称
ServiceDesc string `json:"service_desc" form:"service_desc" comment:"服务描述" example:"" validate:"required,max=255,min=1"` //服务描述
LoadType int `json:"load_type" form:"load_type" comment:"负载类型 0=http 1=tcp 2=grpc"`
HTTPHosts string `json:"http_hosts" form:"http_hosts" comment:"域名信息" example:""`
HTTPPaths string `json:"http_paths" form:"http_paths" comment:"路径信息" example:""`
NeedStripUri int `json:"need_strip_uri" form:"need_strip_uri" comment:"启用strip_uri" example:"" validate:""` //启用strip_uri max=1,min=0
Port int `json:"port" form:"port" comment:"tcp/grpc端口"`
LoadBalanceStrategy string `json:"load_balance_strategy" form:"load_balance_strategy" comment:"负载策略"`
LoadBalanceType string `json:"load_balance_type" form:"load_balance_type" comment:"负载类型"`
AuthType string `json:"auth_type" form:"auth_type" comment:"鉴权类型"`
UpstreamList string `json:"upstream_list" form:"upstream_list" comment:"下游服务器ip和权重"`
PluginConf string `json:"plugin_conf" form:"plugin_conf" comment:"插件配置"`
}
func (*ServiceUpdateInput) BindValidParam ¶
func (param *ServiceUpdateInput) BindValidParam(c *gin.Context) error
type ServiceUpdateTcpInput ¶
type ServiceUpdateTcpInput struct {
ID int64 `json:"id" form:"id" comment:"服务ID" validate:"required"`
ServiceName string `json:"service_name" form:"service_name" comment:"服务名称" validate:"required,valid_service_name"`
ServiceDesc string `json:"service_desc" form:"service_desc" comment:"服务描述" validate:"required"`
Port int `json:"port" form:"port" comment:"端口,需要设置8001-8999范围内" validate:"required,min=8001,max=8999"`
OpenAuth int `json:"open_auth" form:"open_auth" comment:"是否开启权限验证" validate:""`
BlackList string `` /* 135-byte string literal not displayed */
WhiteList string `` /* 135-byte string literal not displayed */
WhiteHostName string `json:"white_host_name" form:"white_host_name" comment:"白名单主机,以逗号间隔" validate:"valid_iplist"`
ClientIPFlowLimit int `json:"clientip_flow_limit" form:"clientip_flow_limit" comment:"客户端IP限流" validate:""`
ServiceFlowLimit int `json:"service_flow_limit" form:"service_flow_limit" comment:"服务端限流" validate:""`
RoundType int `json:"round_type" form:"round_type" comment:"轮询策略" validate:""`
IpList string `json:"ip_list" form:"ip_list" comment:"IP列表" validate:"required,valid_ipportlist"`
WeightList string `json:"weight_list" form:"weight_list" comment:"权重列表" validate:"required,valid_weightlist"`
ForbidList string `json:"forbid_list" form:"forbid_list" comment:"禁用IP列表" validate:"valid_iplist"`
}
func (*ServiceUpdateTcpInput) GetValidParams ¶
func (params *ServiceUpdateTcpInput) GetValidParams(c *gin.Context) error
type StatisticsOutput ¶
type TokensInput ¶
type TokensInput struct {
GrantType string `json:"grant_type" form:"grant_type" comment:"授权类型" example:"client_credentials" validate:"required"` //授权类型
Scope string `json:"scope" form:"scope" comment:"权限范围" example:"read_write" validate:"required"` //权限范围
}
func (*TokensInput) BindValidParam ¶
func (param *TokensInput) BindValidParam(c *gin.Context) error
type TokensOutput ¶
type UpstreamConfig ¶
func GetUpstreamConfigFromString ¶
func GetUpstreamConfigFromString(upstreamList string) (*UpstreamConfig, error)
Click to show internal directories.
Click to hide internal directories.