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 (h *FrontendHTTPHandler) AuthAndLookup(req *http.Request) (*jwt.Token, string, error)
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 The MIT License (MIT) Copyright (c) 2014 Armon Dadgar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
Package proxyprotocol is adapted from: https://github.com/armon/go-proxyproto The MIT License (MIT) Copyright (c) 2014 Armon Dadgar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
Click to show internal directories.
Click to hide internal directories.