Documentation
¶
Index ¶
- func Bind(cc context.Context) context.Context
- func InitModule(mb *application.ModuleBuilder) *application.ModuleBuilder
- type Binding
- type CLI
- type Client
- type ClientFactory
- type Configuration
- type Console
- type ConsoleBuilder
- type Context
- type ContextFactory
- type DefaultClientFactory
- type DefaultConsole
- type DefaultContextFactory
- type DefaultServerFactory
- type Filter
- type FilterChain
- type FilterChainBuilder
- type FilterRegistration
- type FilterRegistrationSorter
- type FilterRegistry
- type Handler
- type HandlerFunc
- type HandlerRegistration
- type HandlerRegistry
- type Help
- type HelpInfo
- type OnInitFunc
- type Server
- type ServerFactory
- type Task
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitModule ¶ added in v0.0.7
func InitModule(mb *application.ModuleBuilder) *application.ModuleBuilder
InitModule 初始化一个 ModuleBuilder
Types ¶
type Binding ¶
type Binding interface {
GetWD() string
GetEnv() map[string]string
GetConsole() Console
GetCLI() CLI
SetCLI(c CLI)
SetWD(wd string)
SetEnv(kv map[string]string)
SetConsole(c Console)
}
Binding ...
func GetBinding ¶
GetBinding ... get the facade of binding
type CLI ¶ added in v0.0.2
type CLI interface {
// 取客户端
GetClient() Client
// 取服务端
GetServer() Server
// 把这个 CLI 绑定到指定的 Context
Bind(cc context.Context) context.Context
}
CLI ... [inject:"#cli"]
type Client ¶
type Client interface {
Handler
// run a task with Context & Command & Arguments
RunCCA(ctx context.Context, cmd string, args []string) error
}
Client 表示 CLI 客户端
type ClientFactory ¶ added in v0.0.2
ClientFactory ...
type Configuration ¶ added in v0.0.2
type Configuration struct {
Handlers []HandlerRegistry
Filters []FilterRegistry
ContextFactory ContextFactory
ClientFactory ClientFactory
ServerFactory ServerFactory
}
Configuration ...
type Console ¶
type Console interface {
Input() io.Reader
Output() io.Writer
Error() io.Writer
In() *bufio.Reader
Out() *bufio.Writer
Err() *bufio.Writer
}
Console ... 表示命令的输入输出对象
type ConsoleBuilder ¶
ConsoleBuilder ...
type Context ¶
type Context struct {
Config *Configuration
Client Client
Server Server
CLI CLI
Chain FilterChain
Handlers []*HandlerRegistration
Filters []*FilterRegistration
}
Context ...
type ContextFactory ¶ added in v0.0.2
type ContextFactory interface {
NewContext(cfg *Configuration) (*Context, error)
}
ContextFactory ...
type DefaultClientFactory ¶ added in v0.0.2
type DefaultClientFactory struct {
}
DefaultClientFactory ...
type DefaultConsole ¶
type DefaultConsole struct {
// contains filtered or unexported fields
}
DefaultConsole ...
type DefaultContextFactory ¶ added in v0.0.2
type DefaultContextFactory struct {
}
DefaultContextFactory ...
func (*DefaultContextFactory) NewContext ¶ added in v0.0.2
func (inst *DefaultContextFactory) NewContext(cfg *Configuration) (*Context, error)
NewContext ...
type DefaultServerFactory ¶ added in v0.0.2
type DefaultServerFactory struct {
}
DefaultServerFactory ...
type Filter ¶
type Filter interface {
Pass(task *Task, chain FilterChain) error
}
Filter ... 用来过滤请求的任务
type FilterChain ¶
FilterChain ... 表示一连串 Filter 构成的链条
type FilterChainBuilder ¶
type FilterChainBuilder struct {
// contains filtered or unexported fields
}
FilterChainBuilder 用来创建 FilterChain
func (*FilterChainBuilder) AddFilter ¶
func (inst *FilterChainBuilder) AddFilter(f Filter, order int)
AddFilter ...
func (*FilterChainBuilder) AddFilterRegistration ¶
func (inst *FilterChainBuilder) AddFilterRegistration(fr *FilterRegistration)
AddFilterRegistration ...
func (*FilterChainBuilder) AddFilterRegistry ¶
func (inst *FilterChainBuilder) AddFilterRegistry(fr FilterRegistry)
AddFilterRegistry ...
type FilterRegistration ¶
type FilterRegistration struct {
Name string
Filter Filter
Order int
OnInit OnInitFunc
}
FilterRegistration ... 定义一条命令的注册信息
type FilterRegistrationSorter ¶
type FilterRegistrationSorter struct {
// contains filtered or unexported fields
}
FilterRegistrationSorter ...
func (*FilterRegistrationSorter) Len ¶
func (inst *FilterRegistrationSorter) Len() int
func (*FilterRegistrationSorter) Less ¶
func (inst *FilterRegistrationSorter) Less(i1, i2 int) bool
func (*FilterRegistrationSorter) Sort ¶
func (inst *FilterRegistrationSorter) Sort(list []*FilterRegistration, reverse bool)
Sort ...
func (*FilterRegistrationSorter) Swap ¶
func (inst *FilterRegistrationSorter) Swap(i1, i2 int)
type FilterRegistry ¶
type FilterRegistry interface {
GetFilters() []*FilterRegistration
}
FilterRegistry ... 该接口表示一个命令注册对象 [inject:".cli-filter-registry"]
type HandlerRegistration ¶
type HandlerRegistration struct {
Name string
Handler HandlerFunc
Help Help
OnInit OnInitFunc
}
HandlerRegistration ... 定义一条命令的注册信息
type HandlerRegistry ¶
type HandlerRegistry interface {
GetHandlers() []*HandlerRegistration
}
HandlerRegistry ... 该接口表示一个命令注册对象 [inject:".cli-handler-registry"]
type HelpInfo ¶
type HelpInfo struct {
Name string // 命令名称
Title string // 命令标题
Usage string // 使用方法
Content string // 具体内容
}
HelpInfo ... 提供一条命令的帮助信息
type Server ¶
type Server interface {
FindHandler(name string) (*HandlerRegistration, error)
RegisterHandler(hr *HandlerRegistration) error
RegisterHandlers(hr HandlerRegistry) error
ListNames() []string
}
Server 表示 CLI 服务器
type ServerFactory ¶ added in v0.0.2
ServerFactory ...