http

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

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) Build added in v0.2.0

func (b *Builder) Build(ctx context.Context) (*khttp.Server, error)

func (*Builder) MustBuild added in v0.2.0

func (b *Builder) MustBuild() *khttp.Server

func (*Builder) WithCORS added in v0.2.0

func (b *Builder) WithCORS(cors *conf.CORS) *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

func (b *Builder) WithExtraValue(key string, value any) *Builder

WithExtraValue 允许注入额外 plugin 参数,便于未来协议扩展。

func (*Builder) WithExtraValues added in v0.2.0

func (b *Builder) WithExtraValues(values map[string]any) *Builder

WithExtraValues 批量注入额外 plugin 参数,后写入值覆盖先前同名键。

func (*Builder) WithHealthCheck added in v0.2.0

func (b *Builder) WithHealthCheck(h *health.Handler) *Builder

func (*Builder) WithLogger added in v0.2.0

func (b *Builder) WithLogger(l log.Logger) *Builder

func (*Builder) WithMetrics added in v0.2.0

func (b *Builder) WithMetrics(metrics *telemetry.Metrics) *Builder

func (*Builder) WithMiddleware added in v0.2.0

func (b *Builder) WithMiddleware(mw ...middleware.Middleware) *Builder

func (*Builder) WithServices added in v0.2.0

func (b *Builder) WithServices(registrars ...Registrar) *Builder

func (*Builder) WithSwagger added in v0.2.0

func (b *Builder) WithSwagger(spec []byte, opts ...swagger.Option) *Builder

type Plugin added in v0.2.0

type Plugin struct{}

Plugin 将 HTTP server 适配到 transport runtime graph。

func (*Plugin) Build added in v0.2.0

func (*Plugin) Type added in v0.2.0

func (p *Plugin) Type() string

type Registrar

type Registrar func(*khttp.Server)

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) 路由。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL