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) WithExtraValue(key string, value any) *Builder
- func (b *Builder) WithExtraValues(values map[string]any) *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 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" // ExtraKeyCORS 允许 runtime graph 向 HTTP plugin 注入 CORS 配置。 ExtraKeyCORS = "cors" // ExtraKeyMetrics 允许 runtime graph 向 HTTP plugin 注入 metrics handler。 ExtraKeyMetrics = "metrics" // ExtraKeyHealthHandler 允许 runtime graph 向 HTTP plugin 注入健康检查处理器。 ExtraKeyHealthHandler = "health_handler" // ExtraKeySwaggerSpec 允许 runtime graph 向 HTTP plugin 注入 swagger spec。 ExtraKeySwaggerSpec = "swagger_spec" // ExtraKeySwaggerOptions 允许 runtime graph 向 HTTP plugin 注入 swagger options。 ExtraKeySwaggerOptions = "swagger_options" )
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) WithExtraValue ¶ added in v0.2.0
WithExtraValue 允许注入额外 plugin 参数,便于未来协议扩展。
func (*Builder) WithExtraValues ¶ added in v0.2.0
WithExtraValues 批量注入额外 plugin 参数,后写入值覆盖先前同名键。
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 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.