Documentation ¶
Overview ¶
Package generator .
Index ¶
- Constants
- func AddGlobalDependency(ref, path string) bool
- func AddGlobalMiddleware(mw Middleware)
- func HasFeature(list []feature, key string) bool
- func RegisterFeature(key string)
- type Config
- type File
- type Generator
- type HandleFunc
- type MethodInfo
- type Middleware
- type PackageInfo
- type Parameter
- type PkgInfo
- type ServiceInfo
- type Task
Constants ¶
View Source
const ( KitexGenPath = "kitex_gen" KitexImportPath = "github.com/cloudwego/kitex" DefaultCodec = "thrift" BuildFileName = "build.sh" BootstrapFileName = "bootstrap.sh" ConfigFileName = "kitex.yml" HandlerFileName = "handler.go" MainFileName = "main.go" ClientFileName = "client.go" ServerFileName = "server.go" InvokerFileName = "invoker.go" ServiceFileName = "*service.go" )
Constants .
Variables ¶
This section is empty.
Functions ¶
func AddGlobalDependency ¶
AddGlobalDependency adds dependency for all generators
func AddGlobalMiddleware ¶
func AddGlobalMiddleware(mw Middleware)
AddGlobalMiddleware adds middleware for all generators
func HasFeature ¶
HasFeature check whether a feature in the list
Types ¶
type Config ¶
type Config struct { Verbose bool GenerateMain bool // whether stuff in the main package should be generated GenerateInvoker bool // generate main.go with invoker when main package generate Version string NoFastAPI bool ModuleName string ServiceName string Use string IDLType string Includes util.StringSlice ThriftOptions util.StringSlice ProtobufOptions util.StringSlice IDL string // the IDL file passed on the command line OutputPath string // the output path for main pkg and kitex_gen PackagePrefix string CombineService bool // combine services to one service CopyIDL bool Features []feature }
Config .
func (*Config) AddFeature ¶
AddFeature add registered feature to config
type Generator ¶
type Generator interface { GenerateService(pkg *PackageInfo) ([]*File, error) GenerateMainPackage(pkg *PackageInfo) ([]*File, error) }
Generator generates the codes of main package and scripts for building a server based on kitex.
func NewGenerator ¶
func NewGenerator(config *Config, middlewares []Middleware) Generator
NewGenerator .
type HandleFunc ¶
type HandleFunc func(*Task, *PackageInfo) (*File, error)
HandleFunc used generator
type MethodInfo ¶
type MethodInfo struct { PkgInfo ServiceName string Name string RawName string Oneway bool Void bool Args []*Parameter Resp *Parameter Exceptions []*Parameter ArgStructName string ResStructName string IsResponseNeedRedirect bool // int -> int* GenArgResultStruct bool ClientStreaming bool ServerStreaming bool }
MethodInfo .
type PackageInfo ¶
type PackageInfo struct { Namespace string // a dot-separated string for generating service package under kitex_gen Dependencies map[string]string // package name => import path, used for searching imports *ServiceInfo // the target service // the belowing fields will be filled and used by the gnerator Codec string Version string RealServiceName string Imports map[string]string // import path => alias ExternalKitexGen string Features []feature }
PackageInfo contains informations to generate a package for a service.
type ServiceInfo ¶
type ServiceInfo struct { PkgInfo ServiceName string RawServiceName string ServiceTypeName func() string Base *ServiceInfo Methods []*MethodInfo CombineServices []*ServiceInfo HasStreaming bool }
ServiceInfo .
func (*ServiceInfo) AllMethods ¶
func (s *ServiceInfo) AllMethods() (ms []*MethodInfo)
AllMethods returns all methods that the service have.
Click to show internal directories.
Click to hide internal directories.