Procházet zdrojové kódy

Merge pull request #1255 from porter-dev/master

Release 404 fix -> staging
abelanger5 před 4 roky
rodič
revize
24d455df45
1 změnil soubory, kde provedl 13 přidání a 1 odebrání
  1. 13 1
      api/server/authz/release.go

+ 13 - 1
api/server/authz/release.go

@@ -2,7 +2,9 @@ package authz
 
 import (
 	"context"
+	"fmt"
 	"net/http"
+	"strings"
 
 	"github.com/porter-dev/porter/api/server/shared/apierrors"
 	"github.com/porter-dev/porter/api/server/shared/config"
@@ -52,7 +54,17 @@ func (p *ReleaseScopedMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Reque
 	release, err := helmAgent.GetRelease(name, int(version), false)
 
 	if err != nil {
-		apierrors.HandleAPIError(p.config, w, r, apierrors.NewErrInternal(err))
+		// ugly casing since at the time of this commit Helm doesn't have an errors package.
+		// so we rely on the Helm error containing "not found"
+		if strings.Contains(err.Error(), "not found") {
+			apierrors.HandleAPIError(p.config, w, r, apierrors.NewErrPassThroughToClient(
+				fmt.Errorf("release not found"),
+				http.StatusNotFound,
+			))
+		} else {
+			apierrors.HandleAPIError(p.config, w, r, apierrors.NewErrInternal(err))
+		}
+
 		return
 	}