Documentation
¶
Index ¶
- Variables
- func NewProxy(transport *http.Transport, router *Router, e engine.Transformable, ...) http.Handler
- func NewReadonlyProxy(transport *http.Transport, router *Router, e engine.Transformable, ...) http.Handler
- type Backend
- func DiscoverBackendsFromDns(transport *http.Transport, domain string) ([]*Backend, error)
- func DiscoverBackendsFromEtcd(transport *http.Transport, urls []*url.URL) []*Backend
- func DiscoverBackendsFromEtcdPeer(transport *http.Transport, urls []*url.URL) []*Backend
- func NewBackend(url *url.URL) *Backend
- type BackendUpdateFunc
- type ClosableBuffer
- type Proxy
- type Router
- func (router *Router) AvailableBackends() []*Backend
- func (router *Router) Backends() []*Backend
- func (router *Router) FailedBackends() []*Backend
- func (router *Router) ShuffledAvailableBackends() []*Backend
- func (router *Router) StartUpdate() error
- func (router *Router) StopUpdate()
- func (router *Router) Update()
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrAlreadyUpdateStarted = errors.New("Periodical updating is already running")
Functions ¶
func NewReadonlyProxy ¶
Types ¶
type Backend ¶
type Backend struct {
sync.Mutex
Url *url.URL
Available bool
// contains filtered or unexported fields
}
func DiscoverBackendsFromDns ¶
func NewBackend ¶
type BackendUpdateFunc ¶
type ClosableBuffer ¶
func (ClosableBuffer) Close ¶
func (buf ClosableBuffer) Close() error
type Proxy ¶
type Router ¶
type Router struct {
sync.RWMutex
UpdateFunc BackendUpdateFunc
UpdateInterval time.Duration
// contains filtered or unexported fields
}
func (*Router) AvailableBackends ¶
func (*Router) FailedBackends ¶
func (*Router) ShuffledAvailableBackends ¶
func (*Router) StartUpdate ¶
func (*Router) StopUpdate ¶
func (router *Router) StopUpdate()
Click to show internal directories.
Click to hide internal directories.