diff options
author | 2017-09-14 09:36:06 +0100 | |
---|---|---|
committer | 2017-09-14 09:36:06 +0100 | |
commit | d8714e64e400ef873c2adc4d929a07d7890727b9 (patch) | |
tree | c9fa4c157e6af12eb1517654f8d23ca5d5619513 /middleware/kubernetes/apiproxy.go | |
parent | b984aa45595dc95253b91191afe7d3ee29e71b48 (diff) | |
download | coredns-d8714e64e400ef873c2adc4d929a07d7890727b9.tar.gz coredns-d8714e64e400ef873c2adc4d929a07d7890727b9.tar.zst coredns-d8714e64e400ef873c2adc4d929a07d7890727b9.zip |
Remove the word middleware (#1067)
* Rename middleware to plugin
first pass; mostly used 'sed', few spots where I manually changed
text.
This still builds a coredns binary.
* fmt error
* Rename AddMiddleware to AddPlugin
* Readd AddMiddleware to remain backwards compat
Diffstat (limited to 'middleware/kubernetes/apiproxy.go')
-rw-r--r-- | middleware/kubernetes/apiproxy.go | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/middleware/kubernetes/apiproxy.go b/middleware/kubernetes/apiproxy.go deleted file mode 100644 index f6d2c00fa..000000000 --- a/middleware/kubernetes/apiproxy.go +++ /dev/null @@ -1,76 +0,0 @@ -package kubernetes - -import ( - "fmt" - "io" - "log" - "net" - "net/http" - - "github.com/coredns/coredns/middleware/pkg/healthcheck" -) - -type proxyHandler struct { - healthcheck.HealthCheck -} - -type apiProxy struct { - http.Server - listener net.Listener - handler proxyHandler -} - -func (p *proxyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - upstream := p.Select() - network := "tcp" - if upstream.Network != "" { - network = upstream.Network - } - address := upstream.Name - d, err := net.Dial(network, address) - if err != nil { - log.Printf("[ERROR] Unable to establish connection to upstream %s://%s: %s", network, address, err) - http.Error(w, fmt.Sprintf("Unable to establish connection to upstream %s://%s: %s", network, address, err), 500) - return - } - hj, ok := w.(http.Hijacker) - if !ok { - log.Printf("[ERROR] Unable to establish connection: no hijacker") - http.Error(w, "Unable to establish connection: no hijacker", 500) - return - } - nc, _, err := hj.Hijack() - if err != nil { - log.Printf("[ERROR] Unable to hijack connection: %s", err) - http.Error(w, fmt.Sprintf("Unable to hijack connection: %s", err), 500) - return - } - defer nc.Close() - defer d.Close() - - err = r.Write(d) - if err != nil { - log.Printf("[ERROR] Unable to copy connection to upstream %s://%s: %s", network, address, err) - http.Error(w, fmt.Sprintf("Unable to copy connection to upstream %s://%s: %s", network, address, err), 500) - return - } - - errChan := make(chan error, 2) - cp := func(dst io.Writer, src io.Reader) { - _, err := io.Copy(dst, src) - errChan <- err - } - go cp(d, nc) - go cp(nc, d) - <-errChan -} - -func (p *apiProxy) Run() { - p.handler.Start() - p.Serve(p.listener) -} - -func (p *apiProxy) Stop() { - p.handler.Stop() - p.listener.Close() -} |