Documentation
¶
Index ¶
- Constants
- func InitializeWebServer(config *Config) (server.Server, error)
- func InstallGenericAPI(engine *gin.Engine)
- func NewAuthnWhiteListMatcher() selector.Matcher
- func NewAuthzWhiteListMatcher() selector.Matcher
- func NewWebServer(serverMode string, serverConfig *ServerConfig) (server.Server, error)
- func ProvideDB(cfg *Config) (*gorm.DB, error)
- type Config
- type ServerConfig
- type UnionServer
- type UserRetriever
Constants ¶
View Source
const ( // GRPCServerMode 定义 gRPC 服务模式. // 使用 gRPC 框架启动一个 gRPC 服务器. GRPCServerMode = "grpc" // GRPCServerMode 定义 gRPC + HTTP 服务模式. // 使用 gRPC 框架启动一个 gRPC 服务器 + HTTP 反向代理服务器. GRPCGatewayServerMode = "grpc-gateway" // GinServerMode 定义 Gin 服务模式. // 使用 Gin Web 框架启动一个 HTTP 服务器. GinServerMode = "gin" )
Variables ¶
This section is empty.
Functions ¶
func InitializeWebServer ¶ added in v1.0.0
func InstallGenericAPI ¶ added in v1.0.0
InstallGenericAPI 注册业务无关的路由,例如 pprof、404 处理等.
func NewAuthnWhiteListMatcher ¶ added in v1.0.0
NewAuthnWhiteListMatcher 创建认证白名单匹配器.
func NewAuthzWhiteListMatcher ¶ added in v1.0.0
NewAuthzWhiteListMatcher 创建授权白名单匹配器.
func NewWebServer ¶ added in v1.0.0
func NewWebServer(serverMode string, serverConfig *ServerConfig) (server.Server, error)
Types ¶
type Config ¶
type Config struct {
ServerMode string
JWTKey string
Expiration time.Duration
EnableMemoryStore bool
TLSOptions *genericoptions.TLSOptions
HTTPOptions *genericoptions.HTTPOptions
GRPCOptions *genericoptions.GRPCOptions
MySQLOptions *genericoptions.MySQLOptions
}
Config 配置结构体,用于存储应用相关的配置. 不用 viper.Get,是因为这种方式能更加清晰的知道应用提供了哪些配置项.
func (*Config) NewUnionServer ¶
func (cfg *Config) NewUnionServer() (*UnionServer, error)
NewUnionServer 根据配置创建联合服务器.
type ServerConfig ¶ added in v1.0.0
type ServerConfig struct {
// contains filtered or unexported fields
}
ServerConfig 包含服务器的核心依赖和配置.
func (*ServerConfig) InstallRESTAPI ¶ added in v1.0.0
func (c *ServerConfig) InstallRESTAPI(engine *gin.Engine)
注册 API 路由。路由的路径和 HTTP 方法,严格遵循 REST 规范.
func (*ServerConfig) NewGRPCServerOr ¶ added in v1.0.0
func (c *ServerConfig) NewGRPCServerOr() (server.Server, error)
NewGRPCServerOr 创建并初始化 gRPC 或者 gRPC + gRPC-Gateway 服务器. 在 Go 项目开发中,NewGRPCServerOr 这个函数命名中的 Or 一般用来表示“或者”的含义, 通常暗示该函数会在两种或多种选择中选择一种可能性。具体的含义需要结合函数的实现 或上下文来理解。以下是一些可能的解释:
- 提供多种构建方式的选择
- 处理默认值或回退逻辑
- 表达灵活选项
func (*ServerConfig) NewGinServer ¶ added in v1.0.0
func (c *ServerConfig) NewGinServer() server.Server
NewGinServer 初始化一个新的 Gin 服务器实例.
type UnionServer ¶
type UnionServer struct {
// contains filtered or unexported fields
}
UnionServer 定义一个联合服务器. 根据 ServerMode 决定要启动的服务器类型.
联合服务器分为以下 2 大类:
- Gin 服务器:由 Gin 框架创建的标准的 REST 服务器。根据是否开启 TLS, 来判断启动 HTTP 或者 HTTPS;
- GRPC 服务器:由 gRPC 框架创建的标准 RPC 服务器
- HTTP 反向代理服务器:由 grpc-gateway 框架创建的 HTTP 反向代理服务器。 根据是否开启 TLS,来判断启动 HTTP 或者 HTTPS;
HTTP 反向代理服务器依赖 gRPC 服务器,所以在开启 HTTP 反向代理服务器时,会先启动 gRPC 服务器.
type UserRetriever ¶ added in v1.0.0
type UserRetriever struct {
// contains filtered or unexported fields
}
UserRetriever 定义一个用户数据获取器. 用来获取用户信息.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package biz is the place where you can implements more complex business logic.
|
Package biz is the place where you can implements more complex business logic. |
|
handler
|
|
|
pkg
|
|
|
nolint: dupl
|
nolint: dupl |
Click to show internal directories.
Click to hide internal directories.