19166: Close connections to container gateway when finished.
authorTom Clegg <tom@curii.com>
Tue, 5 Jul 2022 18:47:14 +0000 (14:47 -0400)
committerTom Clegg <tom@curii.com>
Tue, 5 Jul 2022 18:47:14 +0000 (14:47 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

sdk/go/arvados/container_gateway.go

index ce33fb3105a218a537fe8b0c28cf122041b962a5..ec16ee2be9d9f345810274d252acec579eaf7ddd 100644 (file)
@@ -15,6 +15,7 @@ import (
 )
 
 func (cresp ConnectionResponse) ServeHTTP(w http.ResponseWriter, req *http.Request) {
+       defer cresp.Conn.Close()
        hj, ok := w.(http.Hijacker)
        if !ok {
                http.Error(w, "ResponseWriter does not support connection upgrade", http.StatusInternalServerError)
@@ -48,6 +49,7 @@ func (cresp ConnectionResponse) ServeHTTP(w http.ResponseWriter, req *http.Reque
                if err != nil {
                        ctxlog.FromContext(ctx).WithError(err).Error("error copying downstream")
                }
+               conn.Close()
        }()
        wg.Add(1)
        go func() {
@@ -62,6 +64,7 @@ func (cresp ConnectionResponse) ServeHTTP(w http.ResponseWriter, req *http.Reque
                if err != nil {
                        ctxlog.FromContext(ctx).WithError(err).Error("error copying upstream")
                }
+               cresp.Conn.Close()
        }()
        wg.Wait()
        if cresp.Logger != nil {