Documentation ¶
Index ¶
- Constants
- type ApplicationBuilder
- func (this *ApplicationBuilder) Build() IRequestDelegate
- func (this *ApplicationBuilder) ConfigureMvcParts(configure func(builder *Controller.ControllerBuilder)) *ApplicationBuilder
- func (app *ApplicationBuilder) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (app *ApplicationBuilder) SetEnvironment(mode string)
- func (this *ApplicationBuilder) SetHostBuildContext(context *HostBuildContext)
- func (self *ApplicationBuilder) UseEndpoints(configure func(Router.IRouterBuilder)) *ApplicationBuilder
- func (app *ApplicationBuilder) UseFunc(handlerFunc HandlerFunc)
- func (app *ApplicationBuilder) UseHandler(handler http.Handler)
- func (app *ApplicationBuilder) UseHandlerFunc(handlerFunc func(rw http.ResponseWriter, r *http.Request))
- func (app *ApplicationBuilder) UseMiddleware(handler Handler)
- func (self *ApplicationBuilder) UseMvc() *ApplicationBuilder
- func (app *ApplicationBuilder) UseStatic(path string)
- type ApplicationChannel
- type ApplicationEvent
- type ApplicationEventPublisher
- type ApplicationLife
- type Configuration
- type ConfigurationBuilder
- type ConfigurationContext
- type DataChannelSlice
- type FastHttpServer
- type Handler
- type HandlerFunc
- type HostBuildContext
- type HostBuilder
- func (self *HostBuilder) Build() WebHost
- func (self *HostBuilder) Configure(configure func(*ApplicationBuilder)) *HostBuilder
- func (self *HostBuilder) ConfigureServices(configure func(*DependencyInjection.ServiceCollection)) *HostBuilder
- func (self *HostBuilder) OnApplicationLifeEvent(lifeConfigure func(*ApplicationLife)) *HostBuilder
- func (self *HostBuilder) UseFastHttp() *HostBuilder
- func (self *HostBuilder) UseFastHttpByAddr(addr string) *HostBuilder
- func (self *HostBuilder) UseHttp() *HostBuilder
- func (self *HostBuilder) UseHttpByAddr(addr string) *HostBuilder
- func (self *HostBuilder) UseServer(server IServer) *HostBuilder
- type HttpServer
- type IConfiguration
- type IRequestDelegate
- type IServer
- type NextFunc
- type WebHost
Constants ¶
const ( APPLICATION_LIFE_START = "APPLICATION_LIFE_START" APPLICATION_LIFE_STOP = "APPLICATION_LIFE_STOP" )
const (
// DefaultAddress is used if no other is specified.
DefaultAddress = ":8080"
)
HTTP methods
const (
Version = "v1.4.8"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationBuilder ¶
type ApplicationBuilder struct { Profile string // contains filtered or unexported fields }
application builder struct
func New ¶
func New(handlers ...Handler) *ApplicationBuilder
create application builder when combo all handlers to middleware
func NewApplicationBuilder ¶
func NewApplicationBuilder() *ApplicationBuilder
create new application builder
func (*ApplicationBuilder) Build ¶
func (this *ApplicationBuilder) Build() IRequestDelegate
build and combo all middleware to request delegate (ServeHTTP(w http.ResponseWriter, r *http.Request))
func (*ApplicationBuilder) ConfigureMvcParts ¶ added in v1.4.9
func (this *ApplicationBuilder) ConfigureMvcParts(configure func(builder *Controller.ControllerBuilder)) *ApplicationBuilder
func (*ApplicationBuilder) ServeHTTP ¶
func (app *ApplicationBuilder) ServeHTTP(w http.ResponseWriter, r *http.Request)
Middleware of Server Handler , request port.
func (*ApplicationBuilder) SetEnvironment ¶ added in v1.4.0
func (app *ApplicationBuilder) SetEnvironment(mode string)
func (*ApplicationBuilder) SetHostBuildContext ¶ added in v1.4.9
func (this *ApplicationBuilder) SetHostBuildContext(context *HostBuildContext)
func (*ApplicationBuilder) UseEndpoints ¶ added in v1.4.9
func (self *ApplicationBuilder) UseEndpoints(configure func(Router.IRouterBuilder)) *ApplicationBuilder
func (*ApplicationBuilder) UseFunc ¶
func (app *ApplicationBuilder) UseFunc(handlerFunc HandlerFunc)
apply handler func middleware in builder
func (*ApplicationBuilder) UseHandler ¶
func (app *ApplicationBuilder) UseHandler(handler http.Handler)
apply handler middleware in builder
func (*ApplicationBuilder) UseHandlerFunc ¶
func (app *ApplicationBuilder) UseHandlerFunc(handlerFunc func(rw http.ResponseWriter, r *http.Request))
apply handler func middleware in builder
func (*ApplicationBuilder) UseMiddleware ¶
func (app *ApplicationBuilder) UseMiddleware(handler Handler)
apply middleware in builder
func (*ApplicationBuilder) UseMvc ¶
func (self *ApplicationBuilder) UseMvc() *ApplicationBuilder
after create builder , apply router and logger and recovery middleware
func (*ApplicationBuilder) UseStatic ¶
func (app *ApplicationBuilder) UseStatic(path string)
apply static middleware in builder
type ApplicationChannel ¶ added in v1.4.0
type ApplicationChannel chan ApplicationEvent
ApplicationChannel 是一个能接收 ApplicationEvent 的 channel
type ApplicationEvent ¶ added in v1.4.0
type ApplicationEvent struct { Data interface{} Topic string }
type ApplicationEventPublisher ¶ added in v1.4.0
type ApplicationEventPublisher struct {
// contains filtered or unexported fields
}
ApplicationEventPublisher 存储有关订阅者感兴趣的特定主题的信息
func NewEventPublisher ¶ added in v1.4.0
func NewEventPublisher() *ApplicationEventPublisher
func (*ApplicationEventPublisher) NewEvent ¶ added in v1.4.0
func (eb *ApplicationEventPublisher) NewEvent() chan ApplicationEvent
func (*ApplicationEventPublisher) Publish ¶ added in v1.4.0
func (eb *ApplicationEventPublisher) Publish(topic string, data interface{})
func (*ApplicationEventPublisher) Subscribe ¶ added in v1.4.0
func (eb *ApplicationEventPublisher) Subscribe(topic string, ch ApplicationChannel)
type ApplicationLife ¶ added in v1.3.0
type ApplicationLife struct { ApplicationStopped chan ApplicationEvent ApplicationStarted chan ApplicationEvent // contains filtered or unexported fields }
func NewApplicationLife ¶ added in v1.4.0
func NewApplicationLife() *ApplicationLife
func (*ApplicationLife) StartApplication ¶ added in v1.3.0
func (life *ApplicationLife) StartApplication()
func (*ApplicationLife) StopApplication ¶ added in v1.3.0
func (life *ApplicationLife) StopApplication()
type Configuration ¶ added in v1.4.0
type Configuration struct {
// contains filtered or unexported fields
}
func NewConfiguration ¶ added in v1.4.0
func NewConfiguration(configContext *ConfigurationContext) *Configuration
func (*Configuration) Get ¶ added in v1.4.0
func (c *Configuration) Get(name string) interface{}
func (*Configuration) GetSection ¶ added in v1.4.0
func (c *Configuration) GetSection(name string) *Configuration
type ConfigurationBuilder ¶ added in v1.4.0
type ConfigurationBuilder struct {
// contains filtered or unexported fields
}
func NewConfigurationBuilder ¶ added in v1.4.0
func NewConfigurationBuilder() *ConfigurationBuilder
func (*ConfigurationBuilder) AddEnvironment ¶ added in v1.4.0
func (builder *ConfigurationBuilder) AddEnvironment()
func (*ConfigurationBuilder) AddFlagArgs ¶ added in v1.4.0
func (builder *ConfigurationBuilder) AddFlagArgs()
func (*ConfigurationBuilder) AddJsonFile ¶ added in v1.4.0
func (builder *ConfigurationBuilder) AddJsonFile(name string)
func (*ConfigurationBuilder) AddYamlFile ¶ added in v1.4.0
func (builder *ConfigurationBuilder) AddYamlFile(name string)
func (*ConfigurationBuilder) Build ¶ added in v1.4.0
func (builder *ConfigurationBuilder) Build() *Configuration
type ConfigurationContext ¶ added in v1.4.0
type ConfigurationContext struct {
// contains filtered or unexported fields
}
type DataChannelSlice ¶ added in v1.4.0
type DataChannelSlice []ApplicationChannel
DataChannelSlice 是一个包含 DataChannels 数据的切片
type FastHttpServer ¶ added in v1.3.0
type FastHttpServer struct { IsTLS bool Addr, CertFile, KeyFile string // contains filtered or unexported fields }
func NewFastHttp ¶ added in v1.3.0
func NewFastHttp(addr string) *FastHttpServer
func NewFastHttps ¶ added in v1.3.0
func NewFastHttps(addr string, cert string, key string) FastHttpServer
func (FastHttpServer) GetAddr ¶ added in v1.3.0
func (server FastHttpServer) GetAddr() string
func (FastHttpServer) Run ¶ added in v1.3.0
func (server FastHttpServer) Run(context *HostBuildContext) (e error)
func (FastHttpServer) Shutdown ¶ added in v1.3.0
func (server FastHttpServer) Shutdown()
type Handler ¶
type Handler interface {
Inovke(ctx *Context.HttpContext, next func(ctx *Context.HttpContext))
}
type HandlerFunc ¶
type HandlerFunc func(ctx *Context.HttpContext, next func(ctx *Context.HttpContext))
func (HandlerFunc) Inovke ¶
func (h HandlerFunc) Inovke(ctx *Context.HttpContext, next func(ctx *Context.HttpContext))
type HostBuildContext ¶ added in v1.3.0
type HostBuildContext struct { RequestDelegate IRequestDelegate ApplicationCycle *ApplicationLife // contains filtered or unexported fields }
type HostBuilder ¶
type HostBuilder struct {
// contains filtered or unexported fields
}
func CreateDefaultBuilder ¶ added in v1.4.0
func CreateDefaultBuilder(routerConfig func(router Router.IRouterBuilder)) *HostBuilder
region Create the builder of Web host
func NewWebHostBuilder ¶
func NewWebHostBuilder() *HostBuilder
func (*HostBuilder) Build ¶
func (self *HostBuilder) Build() WebHost
func (*HostBuilder) Configure ¶
func (self *HostBuilder) Configure(configure func(*ApplicationBuilder)) *HostBuilder
func (*HostBuilder) ConfigureServices ¶ added in v1.3.0
func (self *HostBuilder) ConfigureServices(configure func(*DependencyInjection.ServiceCollection)) *HostBuilder
func (*HostBuilder) OnApplicationLifeEvent ¶ added in v1.4.0
func (self *HostBuilder) OnApplicationLifeEvent(lifeConfigure func(*ApplicationLife)) *HostBuilder
func (*HostBuilder) UseFastHttp ¶ added in v1.3.0
func (self *HostBuilder) UseFastHttp() *HostBuilder
func (*HostBuilder) UseFastHttpByAddr ¶ added in v1.4.0
func (self *HostBuilder) UseFastHttpByAddr(addr string) *HostBuilder
func (*HostBuilder) UseHttp ¶ added in v1.3.0
func (self *HostBuilder) UseHttp() *HostBuilder
func (*HostBuilder) UseHttpByAddr ¶ added in v1.4.0
func (self *HostBuilder) UseHttpByAddr(addr string) *HostBuilder
func (*HostBuilder) UseServer ¶
func (self *HostBuilder) UseServer(server IServer) *HostBuilder
type HttpServer ¶
type HttpServer struct { IsTLS bool Addr, CertFile, KeyFile string // contains filtered or unexported fields }
func DefaultHttpServer ¶
func DefaultHttpServer(addr string) HttpServer
func DefaultHttps ¶ added in v1.2.0
func DefaultHttps(addr string, cert string, key string) HttpServer
func (HttpServer) GetAddr ¶
func (server HttpServer) GetAddr() string
func (HttpServer) Run ¶
func (server HttpServer) Run(context *HostBuildContext) (e error)
func (HttpServer) Shutdown ¶ added in v1.3.0
func (server HttpServer) Shutdown()
type IConfiguration ¶ added in v1.4.0
type IConfiguration interface { }
type IRequestDelegate ¶
type IRequestDelegate interface {
ServeHTTP(w http.ResponseWriter, r *http.Request)
}
type IServer ¶
type IServer interface { GetAddr() string Run(context *HostBuildContext) (e error) Shutdown() }
type NextFunc ¶
type NextFunc func(ctx *Context.HttpContext)
type WebHost ¶
type WebHost struct { HostContext *HostBuildContext // contains filtered or unexported fields }
func NewWebHost ¶
func NewWebHost(server IServer, hostContext *HostBuildContext) WebHost