http

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

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

Jump to

Keyboard shortcuts

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