Documentation
¶
Overview ¶
Package proxy is inspired by https://gist.github.com/cespare/3985516
Index ¶
- func IsNoAuthError(err error) bool
- func NewHTTPPipe(rw http.ResponseWriter, backend backendProxy, hostKey string) (*BackendHTTPReader, *BackendHTTPWriter, error)
- func ParsePublicKey(keyFile string) (interface{}, error)
- func ParsePublicKeyFromMemory(keyFileContents string) (interface{}, error)
- type BackendHTTPReader
- type BackendHTTPWriter
- type BackendHandler
- type Certs
- type Config
- type FrontendHTTPHandler
- func (h *FrontendHTTPHandler) AuthAndLookup(req *http.Request) (*jwt.Token, string, error)
- func (h *FrontendHTTPHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)
- func (h *FrontendHTTPHandler) ServeRemoteHTTP(token *jwt.Token, hostKey string, rw http.ResponseWriter, req *http.Request) error
- type FrontendHandler
- type ServiceProxyRequest
- type ServiceProxyResponse
- type Starter
- type StatsHandler
- type Switcher
- type TokenLookup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsNoAuthError ¶ added in v0.21.1
func NewHTTPPipe ¶ added in v0.16.6
func NewHTTPPipe(rw http.ResponseWriter, backend backendProxy, hostKey string) (*BackendHTTPReader, *BackendHTTPWriter, error)
func ParsePublicKey ¶
Types ¶
type BackendHTTPReader ¶ added in v0.16.6
type BackendHTTPReader struct {
// contains filtered or unexported fields
}
func NewBackendHTTPReader ¶ added in v0.16.6
func NewBackendHTTPReader(rw http.ResponseWriter, hostKey, msgKey string, backend backendProxy, messages <-chan common.Message) *BackendHTTPReader
func (*BackendHTTPReader) Close ¶ added in v0.16.6
func (b *BackendHTTPReader) Close() error
type BackendHTTPWriter ¶ added in v0.16.6
type BackendHTTPWriter struct {
// contains filtered or unexported fields
}
func (*BackendHTTPWriter) Close ¶ added in v0.16.6
func (b *BackendHTTPWriter) Close() error
func (*BackendHTTPWriter) Write ¶ added in v0.16.6
func (b *BackendHTTPWriter) Write(buffer []byte) (int, error)
func (*BackendHTTPWriter) WriteRequest ¶ added in v0.16.6
type BackendHandler ¶
type BackendHandler struct {
// contains filtered or unexported fields
}
func (*BackendHandler) ServeHTTP ¶
func (h *BackendHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)
type Config ¶
type FrontendHTTPHandler ¶ added in v0.14.0
type FrontendHTTPHandler struct {
FrontendHandler
HTTPSPorts map[int]bool
TokenLookup *TokenLookup
}
func (*FrontendHTTPHandler) AuthAndLookup ¶ added in v0.24.0
func (*FrontendHTTPHandler) ServeHTTP ¶ added in v0.14.0
func (h *FrontendHTTPHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)
func (*FrontendHTTPHandler) ServeRemoteHTTP ¶ added in v0.24.0
func (h *FrontendHTTPHandler) ServeRemoteHTTP(token *jwt.Token, hostKey string, rw http.ResponseWriter, req *http.Request) error
type FrontendHandler ¶
type FrontendHandler struct {
// contains filtered or unexported fields
}
func (*FrontendHandler) ServeHTTP ¶
func (h *FrontendHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)
type ServiceProxyRequest ¶ added in v0.14.0
type ServiceProxyResponse ¶ added in v0.14.0
type ServiceProxyResponse struct {
Token string `json:"token"`
}
type Starter ¶ added in v0.16.6
type Starter struct {
BackendPaths []string
FrontendPaths []string
FrontendHTTPPaths []string
StatsPaths []string
CattleProxyPaths []string
CattleWSProxyPaths []string
Config *Config
}
func (*Starter) StartProxy ¶ added in v0.16.6
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 Switcher ¶ added in v0.18.0
func NewSwitcher ¶ added in v0.18.0
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
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package proxyprotocol is adapted from: https://github.com/armon/go-proxyproto
|
Package proxyprotocol is adapted from: https://github.com/armon/go-proxyproto |
Click to show internal directories.
Click to hide internal directories.