cRpc

package module
v0.3.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2024 License: MIT Imports: 18 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ConfigName = "RpcConf"
)

Variables

View Source
var Component = &RpcComponent{}

Functions

func Decrypt added in v0.0.52

func Decrypt(f DecryptFunc)

func Encrypt added in v0.0.52

func Encrypt(f EncryptFunc)

func GRPCRequest added in v0.3.5

func GRPCRequest[C any](ctx *gin.Context, client RpcClientInterface, f func(cc grpc.ClientConnInterface) C, method string, req any) (rsp any, err error)

func GetService

func GetService(app, service string) any

func HTTPRequest added in v0.3.5

func HTTPRequest(ctx *gin.Context, client RpcClientInterface, method string, req, rsp any) (err error)

func Inject

func Inject(instance any)

func InjectConf added in v0.0.52

func InjectConf(conf any)

func IsRpcService

func IsRpcService(instance any) bool

func ListenConf added in v0.3.9

func ListenConf(instance any)

func Load

func Load()

func SetHostFunc added in v0.0.52

func SetHostFunc(hostFunc ParseHostFunc)

Types

type ClientType added in v0.3.2

type ClientType string
const (
	GRPCClient ClientType = "grpc"
	HTTPClient ClientType = "http"
)

type DecryptFunc added in v0.0.52

type DecryptFunc func(ctx *gin.Context) bool

type EncryptFunc added in v0.0.52

type EncryptFunc func(ctx *gin.Context) string

type ParseHostFunc added in v0.0.52

type ParseHostFunc func(ctx *gin.Context, app, service string) (host, uri string) // 自定义路由策略

type RpcClientContainer

type RpcClientContainer struct {
	Lock        *sync.Mutex
	Signature   string
	Hosts       map[string]string
	HostFunc    ParseHostFunc
	EncryptFunc EncryptFunc
	GrpcConn    map[string]grpc.ClientConnInterface
}

func (*RpcClientContainer) GetGrpcConn added in v0.2.64

func (i *RpcClientContainer) GetGrpcConn(pkg, app, service string) (conn grpc.ClientConnInterface, err error)

func (*RpcClientContainer) GetHost added in v0.0.5

func (i *RpcClientContainer) GetHost(pkg, app, service string) string

func (*RpcClientContainer) Save

func (i *RpcClientContainer) Save(client *RpcConf_Client)

func (*RpcClientContainer) SetEncrypt added in v0.0.52

func (i *RpcClientContainer) SetEncrypt(f EncryptFunc)

func (*RpcClientContainer) SetHostFunc added in v0.0.52

func (i *RpcClientContainer) SetHostFunc(hostFunc ParseHostFunc)

func (*RpcClientContainer) SetSignature added in v0.0.52

func (i *RpcClientContainer) SetSignature(key string)

type RpcClientInterface

type RpcClientInterface interface {
	RpcClientName() (pkg, app, service string)
}

type RpcComponent added in v0.3.9

type RpcComponent struct{}

func (*RpcComponent) Inject added in v0.3.9

func (k *RpcComponent) Inject(instance any)

func (*RpcComponent) ListenConf added in v0.3.9

func (k *RpcComponent) ListenConf() map[string]cComponents.ListenConfigFunc

func (*RpcComponent) Load added in v0.3.9

func (k *RpcComponent) Load()

type RpcConf

type RpcConf struct {
	RequestURI string            `json:"request_uri"`
	Timeout    int64             `json:"timeout"`
	Try        int64             `json:"try"`
	Signature  string            `json:"signature"`
	Clients    []*RpcConf_Client `json:"clients"`
}

func GetConf added in v0.3.9

func GetConf() *RpcConf

func (*RpcConf) ConfigName

func (i *RpcConf) ConfigName() string

type RpcConf_Client added in v0.0.6

type RpcConf_Client struct {
	Type     ClientType                `json:"type"`
	Host     string                    `json:"host"`
	Package  string                    `json:"package"`
	Services []*RpcConf_Client_Service `json:"services"`
}

type RpcConf_Client_Service added in v0.0.6

type RpcConf_Client_Service struct {
	App     string `json:"app"`
	Service string `json:"service"`
}

type RpcContainer

type RpcContainer struct {
	Lock        *sync.Mutex
	DecryptFunc DecryptFunc
	Instances   map[string]any
}

func (*RpcContainer) Get

func (i *RpcContainer) Get(app, service string) any

func (*RpcContainer) Save

func (i *RpcContainer) Save(instance any)

func (*RpcContainer) SetDecrypt added in v0.0.52

func (i *RpcContainer) SetDecrypt(f DecryptFunc)

type RpcController

type RpcController struct {
}

func (*RpcController) ControllerName

func (c *RpcController) ControllerName() (app, name string)

func (*RpcController) Handler added in v0.0.12

func (c *RpcController) Handler(ctx *gin.Context) (err error)

type RpcServiceInterface

type RpcServiceInterface interface {
	RpcServiceName() (app, service string)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL