proxy

package
v0.16.4 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2016 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Overview

Note: inspiration for this from https://gist.github.com/cespare/3985516

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHttpPipe added in v0.16.3

func NewHttpPipe(rw http.ResponseWriter, backend backendProxy, hostKey string) (*BackendHttpReader, *BackendHttpWriter, error)

func ParsePublicKey

func ParsePublicKey(keyFile string) (interface{}, error)

func ParsePublicKeyFromMemory

func ParsePublicKeyFromMemory(keyFileContents string) (interface{}, error)

Types

type BackendHandler

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

func (*BackendHandler) ServeHTTP

func (h *BackendHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type BackendHttpReader added in v0.16.3

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

func NewBackendHttpReader added in v0.16.3

func NewBackendHttpReader(rw http.ResponseWriter, hostKey, msgKey string, backend backendProxy, messages <-chan common.Message) *BackendHttpReader

func (*BackendHttpReader) Close added in v0.16.3

func (b *BackendHttpReader) Close() error

func (*BackendHttpReader) Read added in v0.16.3

func (b *BackendHttpReader) Read(out []byte) (int, error)

type BackendHttpWriter added in v0.16.3

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

func (*BackendHttpWriter) Close added in v0.16.3

func (b *BackendHttpWriter) Close() error

func (*BackendHttpWriter) Write added in v0.16.3

func (b *BackendHttpWriter) Write(buffer []byte) (int, error)

func (*BackendHttpWriter) WriteRequest added in v0.16.3

func (b *BackendHttpWriter) WriteRequest(req *http.Request, hijack bool, address, scheme string) error

type Certs added in v0.16.0

type Certs struct {
	CA   []byte
	Cert []byte
	Key  []byte
}

type Config

type Config struct {
	PublicKey            interface{}
	ListenAddr           string
	CattleAddr           string
	ParentPid            int
	ProxyProtoHttpsPorts map[int]bool
	CattleAccessKey      string
	CattleSecretKey      string
	TLSListenAddr        string
}

func GetConfig

func GetConfig() (*Config, error)

func (*Config) GetCerts added in v0.16.0

func (config *Config) GetCerts() (*Certs, error)

type FrontendHTTPHandler added in v0.14.0

type FrontendHTTPHandler struct {
	FrontendHandler
	HttpsPorts  map[int]bool
	TokenLookup *TokenLookup
}

func (*FrontendHTTPHandler) ServeHTTP added in v0.14.0

func (h *FrontendHTTPHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type FrontendHandler

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

func (*FrontendHandler) ServeHTTP

func (h *FrontendHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type ProxyStarter

type ProxyStarter struct {
	BackendPaths       []string
	FrontendPaths      []string
	FrontendHTTPPaths  []string
	StatsPaths         []string
	CattleProxyPaths   []string
	CattleWSProxyPaths []string
	Config             *Config
}

func (*ProxyStarter) StartProxy

func (s *ProxyStarter) StartProxy() error

type ServiceProxyRequest added in v0.14.0

type ServiceProxyRequest struct {
	Service string `json:"service"`
	Port    int    `json:"port"`
}

type ServiceProxyResponse added in v0.14.0

type ServiceProxyResponse struct {
	Token string `json:"token"`
}

type StatsHandler added in v0.5.0

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

func (*StatsHandler) ServeHTTP added in v0.5.0

func (h *StatsHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type SwarmHandler added in v0.16.0

type SwarmHandler struct {
	FrontendHandler *FrontendHTTPHandler
	DefaultHandler  http.Handler
}

func (*SwarmHandler) ServeHTTP added in v0.16.0

func (s *SwarmHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type TokenLookup added in v0.14.0

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

func NewTokenLookup added in v0.14.0

func NewTokenLookup(cattleAddr string) *TokenLookup

func (*TokenLookup) Lookup added in v0.14.0

func (t *TokenLookup) Lookup(r *http.Request) (string, error)

Directories

Path Synopsis
This code is adapted from: https://github.com/armon/go-proxyproto
This code is adapted from: https://github.com/armon/go-proxyproto

Jump to

Keyboard shortcuts

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