sdk

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2021 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultSDK = New()

DefaultSDK 默认的sdk客户端

View Source
var ErrRpcResponseError = errors.New("query rpc get response error")

Functions

This section is empty.

Types

type SDK

type SDK struct {
	*SDKConfig
	// contains filtered or unexported fields
}

SDK 的客户端类型

func New

func New() *SDK

New 创建客户端对象

func (*SDK) Init

func (c *SDK) Init(conf *SDKConfig) error

Init 初始化sdk客户端的连接信息

func (*SDK) NewCtx

func (c *SDK) NewCtx() (ctx context.Context, cancel context.CancelFunc)

NewCtx 用于构造请求时的上下文信息,这个上下问可以带元数据信息

func (*SDK) NewSigner

func (c *SDK) NewSigner() (*Signer, error)

NewSigner 建立一个新的签名器

func (*SDK) NewVerifier

func (c *SDK) NewVerifier() (*Verifier, error)

NewVerifier 建立一个新的连接

type SDKConfig

type SDKConfig struct {
	Query_Addresses       []string `json:"query_addresses" jsonschema:"required,description=连接服务的主机地址"`
	Requester_App_Name    string   `json:"requester_app_name,omitempty" jsonschema:"description=请求方服务名"`
	Requester_App_Version string   `json:"requester_app_version,omitempty" jsonschema:"description=请求方服务版本"`

	// 性能设置
	Initial_Window_Size                         int  `json:"initial_window_size,omitempty" jsonschema:"description=基于Stream的滑动窗口大小"`
	Initial_Conn_Window_Size                    int  `json:"initial_conn_window_size,omitempty" jsonschema:"description=基于Connection的滑动窗口大小"`
	Keepalive_Time                              int  `json:"keepalive_time,omitempty" jsonschema:"description=空闲连接每隔n秒ping一次客户端已确保连接存活"`
	Keepalive_Timeout                           int  `json:"keepalive_timeout,omitempty" jsonschema:"description=ping时长超过n则认为连接已死"`
	Keepalive_Enforcement_Permit_Without_Stream bool `` /* 134-byte string literal not displayed */
	Conn_With_Block                             bool `json:"conn_with_block,omitempty" jsonschema:"description=同步的连接建立"`
	Max_Recv_Msg_Size                           int  `json:"max_rec_msg_size,omitempty" jsonschema:"description=允许接收的最大消息长度"`
	Max_Send_Msg_Size                           int  `json:"max_send_msg_size,omitempty" jsonschema:"description=允许发送的最大消息长度"`

	//压缩设置,目前只支持gzip
	Compression string `json:"compression,omitempty" jsonschema:"description=使用哪种方式压缩发送的消息,enum=gzip"`

	// TLS设置
	Ca_Cert_Path     string `json:"ca_cert_path,omitempty" jsonschema:"description=如果要使用tls则需要指定根证书位置"`
	Client_Cert_Path string `json:"client_cert_path,omitempty" jsonschema:"description=客户端整数位置"`
	Client_Key_Path  string `json:"client_key_path,omitempty" jsonschema:"description=客户端证书对应的私钥位置"`

	// XDS设置
	XDS_CREDS bool `json:"xds_creds,omitempty" jsonschema:"description=当address的schema是xds时是否使用xds的令牌加密访问"`

	// 请求超时设置
	Query_Timeout int `json:"query_timeout,omitempty" jsonschema:"description=请求服务的最大超时时间单位ms"`
}

SDKConfig 的客户端类型

func (*SDKConfig) NewSDK

func (c *SDKConfig) NewSDK() *SDK

NewSDK 创建客户端对象

type Signer

type Signer struct {
	// contains filtered or unexported fields
}

Signer 客户端类

func (*Signer) Close

func (c *Signer) Close() error

Close 断开连接

func (*Signer) Meta

func (c *Signer) Meta() (*jwt_pb.SignerMeta, error)

Meta 查看远端签名器的元信息

func (*Signer) Sign

func (c *Signer) Sign(payload interface{}, opts ...signoptions.SignOption) (*jwt_pb.Token, error)

Sign 签名一个token

type Verifier

type Verifier struct {
	// contains filtered or unexported fields
}

Verifier 客户端类

func (*Verifier) Close

func (c *Verifier) Close() error

Close 断开连接

func (*Verifier) Meta

func (c *Verifier) Meta() (*jwt_pb.VerifierMeta, error)

Meta 查看远端签名器的元信息

func (*Verifier) Verify

func (c *Verifier) Verify(token *jwt_pb.Token, payload interface{}, opts ...verifyoptions.VerifyOption) (*jwt_pb.JwtStatus, error)

Verify 签名一个token

Jump to

Keyboard shortcuts

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