proxy

package
v0.0.0-...-1ce3cd0 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2015 License: Apache-2.0, BSD-2-Clause-Views, BSD-3-Clause, + 1 more Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VcapCookieId    = "__VCAP_ID__"
	StickyCookieKey = "JSESSIONID"
)

Variables

This section is empty.

Functions

func NewProxyResponseWriter

func NewProxyResponseWriter(w http.ResponseWriter) *proxyResponseWriter

func NewProxyRoundTripper

func NewProxyRoundTripper(backend bool, transport http.RoundTripper, endpointIterator route.EndpointIterator,
	handler RequestHandler, afterRoundTrip AfterRoundTrip) http.RoundTripper

func SetupProxyRequest

func SetupProxyRequest(source *http.Request, target *http.Request,
	routeServiceArgs route_service.RouteServiceArgs,
	routeServiceConfig *route_service.RouteServiceConfig)

Types

type AfterRoundTrip

type AfterRoundTrip func(rsp *http.Response, endpoint *route.Endpoint, err error)

type BackendRoundTripper

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

func (*BackendRoundTripper) RoundTrip

func (rt *BackendRoundTripper) RoundTrip(request *http.Request) (*http.Response, error)

type LookupRegistry

type LookupRegistry interface {
	Lookup(uri route.Uri) *route.Pool
}

type Proxy

type Proxy interface {
	ServeHTTP(responseWriter http.ResponseWriter, request *http.Request)
}

func NewProxy

func NewProxy(args ProxyArgs) Proxy

type ProxyArgs

type ProxyArgs struct {
	EndpointTimeout     time.Duration
	Ip                  string
	TraceKey            string
	Registry            LookupRegistry
	Reporter            ProxyReporter
	AccessLogger        access_log.AccessLogger
	SecureCookies       bool
	TLSConfig           *tls.Config
	RouteServiceEnabled bool
	RouteServiceTimeout time.Duration
	Crypto              secure.Crypto
	CryptoPrev          secure.Crypto
	ExtraHeadersToLog   []string
}

type ProxyReporter

type ProxyReporter interface {
	CaptureBadRequest(req *http.Request)
	CaptureBadGateway(req *http.Request)
	CaptureRoutingRequest(b *route.Endpoint, req *http.Request)
	CaptureRoutingResponse(b *route.Endpoint, res *http.Response, t time.Time, d time.Duration)
}

type ProxyResponseWriter

type ProxyResponseWriter interface {
	Header() http.Header
	Hijack() (net.Conn, *bufio.ReadWriter, error)
	Write(b []byte) (int, error)
	WriteHeader(s int)
	Done()
	Flush()
	Status() int
	Size() int
}

type RequestHandler

type RequestHandler struct {
	StenoLogger *steno.Logger
	// contains filtered or unexported fields
}

func (*RequestHandler) HandleBadGateway

func (h *RequestHandler) HandleBadGateway(err error)

func (*RequestHandler) HandleBadSignature

func (h *RequestHandler) HandleBadSignature(err error)

func (*RequestHandler) HandleHeartbeat

func (h *RequestHandler) HandleHeartbeat()

func (*RequestHandler) HandleMissingRoute

func (h *RequestHandler) HandleMissingRoute()

func (*RequestHandler) HandleRouteServiceFailure

func (h *RequestHandler) HandleRouteServiceFailure(err error)

func (*RequestHandler) HandleTcpRequest

func (h *RequestHandler) HandleTcpRequest(iter route.EndpointIterator)

func (*RequestHandler) HandleUnsupportedProtocol

func (h *RequestHandler) HandleUnsupportedProtocol()

func (*RequestHandler) HandleUnsupportedRouteService

func (h *RequestHandler) HandleUnsupportedRouteService()

func (*RequestHandler) HandleWebSocketRequest

func (h *RequestHandler) HandleWebSocketRequest(iter route.EndpointIterator)

func (*RequestHandler) Logger

func (h *RequestHandler) Logger() *steno.Logger

type RouteServiceRoundTripper

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

func (*RouteServiceRoundTripper) RoundTrip

func (rt *RouteServiceRoundTripper) RoundTrip(request *http.Request) (*http.Response, error)

Directories

Path Synopsis
This file was generated by counterfeiter This file was generated by counterfeiter
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