Documentation
¶
Index ¶
- Constants
- func NewServer(opts ...ServerOption) *khttp.Server
- type Builder
- func (b *Builder) Build(ctx context.Context) (*khttp.Server, error)
- func (b *Builder) MustBuild() *khttp.Server
- func (b *Builder) WithCORS(cors *conf.CORS) *Builder
- func (b *Builder) WithConfig(c *conf.Server_HTTP) *Builder
- func (b *Builder) WithHealthCheck(h *health.Handler) *Builder
- func (b *Builder) WithLogger(l log.Logger) *Builder
- func (b *Builder) WithMetrics(metrics *telemetry.Metrics) *Builder
- func (b *Builder) WithMiddleware(mw ...middleware.Middleware) *Builder
- func (b *Builder) WithServices(registrars ...Registrar) *Builder
- func (b *Builder) WithSwagger(spec []byte, opts ...swagger.Option) *Builder
- type Plugin
- type Registrar
- type ServerConfig
- type ServerOption
- func WithCORS(c *conf.CORS) ServerOption
- func WithConfig(c *conf.Server_HTTP) ServerOption
- func WithHealthCheck(h *health.Handler) ServerOption
- func WithLogger(l log.Logger) ServerOption
- func WithMetrics(m *telemetry.Metrics) ServerOption
- func WithMiddleware(mw ...middleware.Middleware) ServerOption
- func WithServices(registrars ...Registrar) ServerOption
- func WithSwagger(specData []byte, opts ...swagger.Option) ServerOption
Constants ¶
View Source
const Type = "http"
Variables ¶
This section is empty.
Functions ¶
func NewServer ¶
func NewServer(opts ...ServerOption) *khttp.Server
Types ¶
type Builder ¶ added in v0.2.0
type Builder struct {
// contains filtered or unexported fields
}
Builder 提供面向调用方的 HTTP server DSL,隐藏 runtime graph 细节。
func NewBuilder ¶ added in v0.2.0
func NewBuilder() *Builder
func (*Builder) WithConfig ¶ added in v0.2.0
func (b *Builder) WithConfig(c *conf.Server_HTTP) *Builder
func (*Builder) WithHealthCheck ¶ added in v0.2.0
func (*Builder) WithMetrics ¶ added in v0.2.0
func (*Builder) WithMiddleware ¶ added in v0.2.0
func (b *Builder) WithMiddleware(mw ...middleware.Middleware) *Builder
func (*Builder) WithServices ¶ added in v0.2.0
type Plugin ¶ added in v0.2.0
type Plugin struct{}
Plugin 将 HTTP server 适配到 transport runtime graph。
type ServerConfig ¶ added in v0.2.3
type ServerConfig struct {
HTTP *conf.Server_HTTP
CORS *conf.CORS
Metrics *telemetry.Metrics
HealthHandler *health.Handler
SwaggerSpec []byte
SwaggerOptions []swagger.Option
}
ServerConfig 封装 HTTP server plugin 的完整配置,含 proto 配置和运行时注入项。 通过 Builder 构造后作为 runtime.ServerBuildInput.Config 传入 Plugin.Build。
type ServerOption ¶
type ServerOption func(*serverOptions)
func WithCORS ¶
func WithCORS(c *conf.CORS) ServerOption
func WithConfig ¶
func WithConfig(c *conf.Server_HTTP) ServerOption
func WithHealthCheck ¶
func WithHealthCheck(h *health.Handler) ServerOption
WithHealthCheck 启用健康探针端点。 注册 GET /healthz (liveness) 和 GET /readyz (readiness) 路由。
func WithLogger ¶
func WithLogger(l log.Logger) ServerOption
func WithMetrics ¶
func WithMetrics(m *telemetry.Metrics) ServerOption
func WithMiddleware ¶
func WithMiddleware(mw ...middleware.Middleware) ServerOption
func WithServices ¶
func WithServices(registrars ...Registrar) ServerOption
func WithSwagger ¶
func WithSwagger(specData []byte, opts ...swagger.Option) ServerOption
WithSwagger 启用 Swagger UI 文档端点。 注册 GET /docs/ (UI 页面) 和 GET /docs/openapi.yaml (原始 spec) 路由。
Click to show internal directories.
Click to hide internal directories.