Documentation ¶
Index ¶
- type Client
- type DiscoClient
- type DiscoClientConfig
- func (dc *DiscoClientConfig) SkipSslVerify() *DiscoClientConfig
- func (dc *DiscoClientConfig) WithAuth(login, password string) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithBreaker(threshold uint) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithDisco(endpoints []string) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithEndpoints(endpoints []string) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithMeta(meta map[string]any) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithName(name string) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithRetry(attempts uint, delay time.Duration) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithTimeout(tm time.Duration) *DiscoClientConfig
- func (dc *DiscoClientConfig) WithToken(token string) *DiscoClientConfig
- type DiscoRegistry
- type LoadBalancingHttpClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiscoClient ¶
type DiscoClient interface { // Leave - unregister client from disco server Leave() error // Registry - get registry object Registry() DiscoRegistry }
func NewDiscoHttpClient ¶
func NewDiscoHttpClient(config *DiscoClientConfig) (DiscoClient, error)
func NewDiscoHttpClientPanicOnAuthError ¶
func NewDiscoHttpClientPanicOnAuthError(config *DiscoClientConfig) DiscoClient
type DiscoClientConfig ¶
type DiscoClientConfig struct { Login string Password string Token string DiscoEndpoints []string ClientName string ClientEndpoints []string ClientMeta map[string]any ClientTimeout time.Duration ClientBreakThreshold uint ClientRetryAttempts uint ClientRetryInterval time.Duration PerformSslVerification bool }
func DefaultConfig ¶
func DefaultConfig() *DiscoClientConfig
func EmptyConfig ¶
func EmptyConfig() *DiscoClientConfig
func (*DiscoClientConfig) SkipSslVerify ¶
func (dc *DiscoClientConfig) SkipSslVerify() *DiscoClientConfig
func (*DiscoClientConfig) WithAuth ¶ added in v0.0.15
func (dc *DiscoClientConfig) WithAuth(login, password string) *DiscoClientConfig
func (*DiscoClientConfig) WithBreaker ¶
func (dc *DiscoClientConfig) WithBreaker(threshold uint) *DiscoClientConfig
func (*DiscoClientConfig) WithDisco ¶
func (dc *DiscoClientConfig) WithDisco(endpoints []string) *DiscoClientConfig
func (*DiscoClientConfig) WithEndpoints ¶
func (dc *DiscoClientConfig) WithEndpoints(endpoints []string) *DiscoClientConfig
func (*DiscoClientConfig) WithMeta ¶
func (dc *DiscoClientConfig) WithMeta(meta map[string]any) *DiscoClientConfig
func (*DiscoClientConfig) WithName ¶
func (dc *DiscoClientConfig) WithName(name string) *DiscoClientConfig
func (*DiscoClientConfig) WithRetry ¶
func (dc *DiscoClientConfig) WithRetry(attempts uint, delay time.Duration) *DiscoClientConfig
func (*DiscoClientConfig) WithTimeout ¶
func (dc *DiscoClientConfig) WithTimeout(tm time.Duration) *DiscoClientConfig
func (*DiscoClientConfig) WithToken ¶
func (dc *DiscoClientConfig) WithToken(token string) *DiscoClientConfig
type DiscoRegistry ¶
type DiscoRegistry interface { // Services - list all registered services Services() []string // List - list all registered clients List() []Client // Get - get client for registered service // (only in UP state; next from ring buffer) Get(service string) (Client, error) // Sync - synchronize registrations data Sync(clients []Client) // Reset - reset local discovery cache Reset() }
func NewRegistry ¶
func NewRegistry() DiscoRegistry
type LoadBalancingHttpClient ¶
type LoadBalancingHttpClient interface { Get(url string, headers map[string]string) ([]byte, map[string]string, int, error) GetWithParams(url string, params map[string]any, headers map[string]string) ([]byte, map[string]string, int, error) }
func NewLbClient ¶
func NewLbClient(reg DiscoRegistry, cln httpclient.Client) LoadBalancingHttpClient
Source Files ¶
Click to show internal directories.
Click to hide internal directories.