gateway

package
v0.0.0-...-f37d2a6 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2017 License: BSD-2-Clause Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DEFAULT_TIMEOUT = 10000 * time.Millisecond
)

Variables

This section is empty.

Functions

func NewReverseProxyCreator

func NewReverseProxyCreator() *reverseProxyCreator

Types

type Gateway

type Gateway struct {
	sync.RWMutex

	Services map[string]ReverseProxy
	// contains filtered or unexported fields
}

func New

func New(port string, rpCreator ReverseProxyCreator) *Gateway

func (*Gateway) AddService

func (gw *Gateway) AddService(logger lager.Logger, spec ReverseProxySpec) error

func (*Gateway) RemoveService

func (gw *Gateway) RemoveService(logger lager.Logger, host string) error

func (*Gateway) ServeHTTP

func (gw *Gateway) ServeHTTP(rw http.ResponseWriter, req *http.Request)

func (*Gateway) Start

func (gw *Gateway) Start(logger lager.Logger) error

func (*Gateway) Stop

func (gw *Gateway) Stop() bool

type ReverseProxy

type ReverseProxy interface {
	ServeHTTP(http.ResponseWriter, *http.Request)
}

type ReverseProxyCreator

type ReverseProxyCreator interface {
	Create(lager.Logger, ReverseProxySpec) (ReverseProxy, error)
}

type ReverseProxySpec

type ReverseProxySpec struct {
	Host     string
	Backends []string
	// Timeout in Milliseconds
	Timeout time.Duration
}

Directories

Path Synopsis
This file was generated by counterfeiter
This file was generated by counterfeiter

Jump to

Keyboard shortcuts

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