cRpc

package module
v0.2.52 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: MIT Imports: 17 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Call

func Call(ctx *gin.Context, client RpcClientInterface, method string, req, rsp interface{}) (err error)

func Decrypt added in v0.0.52

func Decrypt(f DecryptFunc)

func Encrypt added in v0.0.52

func Encrypt(f EncryptFunc)

func GetService

func GetService(app, service string) interface{}

func GrpcHandler added in v0.0.52

func GrpcHandler[Q, T any](ctx context.Context, app, service, method string, req Q, rsp T) (err error)

func Inject

func Inject(instance interface{})

func InjectConf added in v0.0.52

func InjectConf(conf interface{})

func IsRpcService

func IsRpcService(instance interface{}) bool

func Load

func Load()

func SetHostFunc added in v0.0.52

func SetHostFunc(hostFunc ParseHostFunc)

Types

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
}

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 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 GetRpcConf added in v0.0.52

func GetRpcConf() *RpcConf

func (*RpcConf) ConfigName

func (i *RpcConf) ConfigName() string

type RpcConf_Client added in v0.0.6

type RpcConf_Client struct {
	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]interface{}
}

func (*RpcContainer) Get

func (i *RpcContainer) Get(app, service string) interface{}

func (*RpcContainer) Save

func (i *RpcContainer) Save(instance interface{})

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