const ( // DefaultHostAcceptRE is the default value for which hosts to accept. DefaultHostAcceptRE = "^localhost$,^127\\.0\\.0\\.1$,^\\[::1\\]$" // DefaultPathAcceptRE is the default path to accept. DefaultPathAcceptRE = "^.*" // DefaultPathRejectRE is the default set of paths to reject. DefaultPathRejectRE = "^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach" // DefaultMethodRejectRE is the set of HTTP methods to reject by default. DefaultMethodRejectRE = "^$" )
func MakeRegexpArray(str string) ([]*regexp.Regexp, error)
MakeRegexpArray splits a comma separated list of regexps into an array of Regexp objects.
func MakeRegexpArrayOrDie(str string) []*regexp.Regexp
MakeRegexpArrayOrDie creates an array of regular expression objects from a string or exits.
func NewProxyHandler(apiProxyPrefix string, filter *FilterServer, cfg *rest.Config, keepalive time.Duration, appendLocationPath bool) (http.Handler, error)
NewProxyHandler creates an api proxy handler for the cluster
FilterServer rejects requests which don't match one of the specified regular expressions
type FilterServer struct { // Only paths that match this regexp will be accepted AcceptPaths []*regexp.Regexp // Paths that match this regexp will be rejected, even if they match the above RejectPaths []*regexp.Regexp // Hosts are required to match this list of regexp AcceptHosts []*regexp.Regexp // Methods that match this regexp are rejected RejectMethods []*regexp.Regexp // contains filtered or unexported fields }
func (f *FilterServer) HandlerFor(delegate http.Handler) *FilterServer
HandlerFor makes a shallow copy of f which passes its requests along to the new delegate.
func (f *FilterServer) ServeHTTP(rw http.ResponseWriter, req *http.Request)
Server is a http.Handler which proxies Kubernetes APIs to remote API server.
type Server struct {
// contains filtered or unexported fields
}
func NewServer(filebase string, apiProxyPrefix string, staticPrefix string, filter *FilterServer, cfg *rest.Config, keepalive time.Duration, appendLocationPath bool) (*Server, error)
NewServer creates and installs a new Server. 'filter', if non-nil, protects requests to the api only.
func (s *Server) Listen(address string, port int) (net.Listener, error)
Listen is a simple wrapper around net.Listen.
func (s *Server) ListenUnix(path string) (net.Listener, error)
ListenUnix does net.Listen for a unix socket
func (s *Server) ServeOnListener(l net.Listener) error
ServeOnListener starts the server using given listener, loops forever.