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 ...