client

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2016 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultCircuitBreakerSettings = CircuitBreakerSettings{
	MaxConcurrentRequests:  100,
	RequestVolumeThreshold: 20,
	SleepWindow:            5000,
	ErrorPercentThreshold:  90,
}

DefaultCircuitBreakerSettings describes the default circuit parameters.

Functions

func JoinByFormat

func JoinByFormat(data []string, format string) string

JoinByFormat joins a string array by a known format:

csv: comma separated value (default)
ssv: space separated value
tsv: tab separated value
pipes: pipe (|) separated value

func WithRetries

func WithRetries(ctx context.Context, retries int) context.Context

WithRetries returns a new context that overrides the number of retries to do for a particular request.

Types

type CircuitBreakerSettings added in v0.1.3

type CircuitBreakerSettings struct {
	// MaxConcurrentRequests is the maximum number of concurrent requests
	// the client can make at the same time. Default: 100.
	MaxConcurrentRequests int
	// RequestVolumeThreshold is the minimum number of requests needed
	// before a circuit can be tripped due to health. Default: 20.
	RequestVolumeThreshold int
	// SleepWindow how long, in milliseconds, to wait after a circuit opens
	// before testing for recovery. Default: 5000.
	SleepWindow int
	// ErrorPercentThreshold is the threshold to place on the rolling error
	// rate. Once the error rate exceeds this percentage, the circuit opens.
	// Default: 90.
	ErrorPercentThreshold int
}

CircuitBreakerSettings are the parameters that govern the client's circuit breaker.

type Client

type Client interface {
}

Client defines the methods available to clients of the swagger-test service.

type HystrixSSEEvent added in v0.1.3

type HystrixSSEEvent struct {
	Type                            string `json:"type"`
	Name                            string `json:"name"`
	RequestCount                    int    `json:"requestCount"`
	ErrorCount                      int    `json:"errorCount"`
	ErrorPercentage                 int    `json:"errorPercentage"`
	IsCircuitBreakerOpen            bool   `json:"isCircuitBreakerOpen"`
	RollingCountFailure             int    `json:"rollingCountFailure"`
	RollingCountFallbackFailure     int    `json:"rollingCountFallbackFailure"`
	RollingCountFallbackSuccess     int    `json:"rollingCountFallbackSuccess"`
	RollingCountShortCircuited      int    `json:"rollingCountShortCircuited"`
	RollingCountSuccess             int    `json:"rollingCountSuccess"`
	RollingCountThreadPoolRejected  int    `json:"rollingCountThreadPoolRejected"`
	RollingCountTimeout             int    `json:"rollingCountTimeout"`
	CurrentConcurrentExecutionCount int    `json:"currentConcurrentExecutionCount"`
	LatencyTotalMean                int    `json:"latencyTotal_mean"`
}

HystrixSSEEvent is emitted by hystrix-go via server-sent events. It describes the state of a circuit.

type MockClient

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

Mock of Client interface

func NewMockClient

func NewMockClient(ctrl *gomock.Controller) *MockClient

func (*MockClient) EXPECT

func (_m *MockClient) EXPECT() *_MockClientRecorder

type WagClient

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

WagClient is used to make requests to the swagger-test service.

func New

func New(basePath string) *WagClient

New creates a new client. The base path and http transport are configurable.

func NewFromDiscovery

func NewFromDiscovery() (*WagClient, error)

NewFromDiscovery creates a client from the discovery environment variables. This method requires the three env vars: SERVICE_SWAGGER_TEST_HTTP_(HOST/PORT/PROTO) to be set. Otherwise it returns an error.

func (*WagClient) SetCircuitBreakerDebug added in v0.1.3

func (c *WagClient) SetCircuitBreakerDebug(b bool)

SetCircuitBreakerDebug puts the circuit

func (*WagClient) SetCircuitBreakerSettings added in v0.1.3

func (c *WagClient) SetCircuitBreakerSettings(settings CircuitBreakerSettings)

SetCircuitBreakerSettings sets parameters on the circuit breaker. It must be called on application startup.

func (*WagClient) WithRetries

func (c *WagClient) WithRetries(retries int) *WagClient

WithRetries returns a new client that retries all GET operations until they either succeed or fail the number of times specified.

func (*WagClient) WithTimeout

func (c *WagClient) WithTimeout(timeout time.Duration) *WagClient

WithTimeout returns a new client that has the specified timeout on all operations. To make a single request have a timeout use context.WithTimeout as described here: https://godoc.org/golang.org/x/net/context#WithTimeout.

Jump to

Keyboard shortcuts

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