支持从配置文件及配置目录初始化RPC服务
This commit is contained in:
38
rpc.go
38
rpc.go
@ -14,6 +14,7 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
@ -53,6 +54,43 @@ func InitRPC(serviceTable map[string]*Service, loggerInstance *zap.Logger) error
|
||||
return nil
|
||||
}
|
||||
|
||||
// InitRPCFromCfgDir 使用RPC配置文件路径初始化RPC
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 17:41 2022/7/1
|
||||
func InitRPCFromCfgDir(cfgDir string, logger *zap.Logger) error {
|
||||
serviceTable := make(map[string]*Service)
|
||||
filepathNames, _ := filepath.Glob(filepath.Join(cfgDir, "*"))
|
||||
for i := range filepathNames {
|
||||
var (
|
||||
serviceInfo Service
|
||||
err error
|
||||
)
|
||||
if err = util.File.ReadJSONContent(cfgDir+string(filepath.Separator)+filepathNames[i], &serviceInfo); nil != err {
|
||||
return err
|
||||
}
|
||||
serviceTable[serviceInfo.Flag] = &serviceInfo
|
||||
}
|
||||
return InitRPC(serviceTable, logger)
|
||||
}
|
||||
|
||||
// InitRPCFromCfgFile 从配置文件初始化RPC服务
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 17:42 2022/7/1
|
||||
func InitRPCFromCfgFile(cfgFile string, logger *zap.Logger) error {
|
||||
var (
|
||||
serviceTable map[string]*Service
|
||||
err error
|
||||
)
|
||||
if err = util.File.ReadJSONContent(cfgFile, &serviceTable); nil != err {
|
||||
return err
|
||||
}
|
||||
return InitRPC(serviceTable, logger)
|
||||
}
|
||||
|
||||
type request struct {
|
||||
logger *zap.Logger
|
||||
serviceTable map[string]*Service
|
||||
|
Reference in New Issue
Block a user