internal

package
v0.0.0-...-fb78d46 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoAvailableServer = errors.New("No available server, try again later")

Functions

This section is empty.

Types

type DowmstreamServer

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

func NewDownstreamServer

func NewDownstreamServer(address, endpoint string) *DowmstreamServer

func NewDownstreamServers

func NewDownstreamServers(argServers, healthCheckEndpoint string) []*DowmstreamServer

func (*DowmstreamServer) Healthy

func (d *DowmstreamServer) Healthy()

func (*DowmstreamServer) Unhealthy

func (d *DowmstreamServer) Unhealthy()

type LoadBalancer

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

func NewLoadBalancer

func NewLoadBalancer(healthCheckTimeout, requestTimeout, healthCheckInterval int, servers []*DowmstreamServer) *LoadBalancer

func (*LoadBalancer) ErrorResponse

func (l *LoadBalancer) ErrorResponse(message string, w http.ResponseWriter, r *http.Request)

func (*LoadBalancer) GetDownstreamServer

func (l *LoadBalancer) GetDownstreamServer() (*DowmstreamServer, error)

func (*LoadBalancer) Handle

func (l *LoadBalancer) Handle(w http.ResponseWriter, r *http.Request)

func (*LoadBalancer) HealthCheck

func (l *LoadBalancer) HealthCheck()

func (*LoadBalancer) NewRequest

func (l *LoadBalancer) NewRequest(server *DowmstreamServer, r *http.Request) (*http.Request, error)

func (*LoadBalancer) RoundRobin

func (l *LoadBalancer) RoundRobin() *DowmstreamServer

func (*LoadBalancer) Shutdown

func (l *LoadBalancer) Shutdown()

type Server

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

func NewServer

func NewServer(address string, lb *LoadBalancer) *Server

func (*Server) GracefulShutdown

func (s *Server) GracefulShutdown(ctx context.Context)

func (*Server) Shutdown

func (s *Server) Shutdown(ctx context.Context) error

func (*Server) Start

func (s *Server) Start()

Jump to

Keyboard shortcuts

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