aboutsummaryrefslogtreecommitdiffstats
path: root/routers/api
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2022-12-31 12:49:37 +0100
committerGitHub <noreply@github.com>2022-12-31 12:49:37 +0100
commit3fef47b41c98392865d13fd21bbcec34236daf4f (patch)
tree16808c6ea9ffd2cc0438d11831fd3a7503d15056 /routers/api
parentdce8887494268c99ba5da8d5152b5d1cc03cfb83 (diff)
downloadgitea-3fef47b41c98392865d13fd21bbcec34236daf4f.tar.gz
gitea-3fef47b41c98392865d13fd21bbcec34236daf4f.zip
Use ErrInvalidArgument in packages (#22268)
Related to https://github.com/go-gitea/gitea/pull/22262#discussion_r1059010774 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'routers/api')
-rw-r--r--routers/api/packages/composer/composer.go7
-rw-r--r--routers/api/packages/helm/helm.go7
-rw-r--r--routers/api/packages/npm/npm.go6
-rw-r--r--routers/api/packages/nuget/nuget.go8
-rw-r--r--routers/api/packages/pub/pub.go8
-rw-r--r--routers/api/packages/rubygems/rubygems.go7
6 files changed, 36 insertions, 7 deletions
diff --git a/routers/api/packages/composer/composer.go b/routers/api/packages/composer/composer.go
index 58571fff14..a623952aa7 100644
--- a/routers/api/packages/composer/composer.go
+++ b/routers/api/packages/composer/composer.go
@@ -4,6 +4,7 @@
package composer
import (
+ "errors"
"fmt"
"io"
"net/http"
@@ -200,7 +201,11 @@ func UploadPackage(ctx *context.Context) {
cp, err := composer_module.ParsePackage(buf, buf.Size())
if err != nil {
- apiError(ctx, http.StatusBadRequest, err)
+ if errors.Is(err, util.ErrInvalidArgument) {
+ apiError(ctx, http.StatusBadRequest, err)
+ } else {
+ apiError(ctx, http.StatusInternalServerError, err)
+ }
return
}
diff --git a/routers/api/packages/helm/helm.go b/routers/api/packages/helm/helm.go
index af863bc4b9..3bcce6bdf5 100644
--- a/routers/api/packages/helm/helm.go
+++ b/routers/api/packages/helm/helm.go
@@ -4,6 +4,7 @@
package helm
import (
+ "errors"
"fmt"
"io"
"net/http"
@@ -163,7 +164,11 @@ func UploadPackage(ctx *context.Context) {
metadata, err := helm_module.ParseChartArchive(buf)
if err != nil {
- apiError(ctx, http.StatusBadRequest, err)
+ if errors.Is(err, util.ErrInvalidArgument) {
+ apiError(ctx, http.StatusBadRequest, err)
+ } else {
+ apiError(ctx, http.StatusInternalServerError, err)
+ }
return
}
diff --git a/routers/api/packages/npm/npm.go b/routers/api/packages/npm/npm.go
index 1a09cb6f36..0d25f173e9 100644
--- a/routers/api/packages/npm/npm.go
+++ b/routers/api/packages/npm/npm.go
@@ -158,7 +158,11 @@ func DownloadPackageFileByName(ctx *context.Context) {
func UploadPackage(ctx *context.Context) {
npmPackage, err := npm_module.ParsePackage(ctx.Req.Body)
if err != nil {
- apiError(ctx, http.StatusBadRequest, err)
+ if errors.Is(err, util.ErrInvalidArgument) {
+ apiError(ctx, http.StatusBadRequest, err)
+ } else {
+ apiError(ctx, http.StatusInternalServerError, err)
+ }
return
}
diff --git a/routers/api/packages/nuget/nuget.go b/routers/api/packages/nuget/nuget.go
index d6f7d1d7f6..6423db7d3a 100644
--- a/routers/api/packages/nuget/nuget.go
+++ b/routers/api/packages/nuget/nuget.go
@@ -411,7 +411,11 @@ func UploadSymbolPackage(ctx *context.Context) {
pdbs, err := nuget_module.ExtractPortablePdb(buf, buf.Size())
if err != nil {
- apiError(ctx, http.StatusBadRequest, err)
+ if errors.Is(err, util.ErrInvalidArgument) {
+ apiError(ctx, http.StatusBadRequest, err)
+ } else {
+ apiError(ctx, http.StatusInternalServerError, err)
+ }
return
}
defer pdbs.Close()
@@ -507,7 +511,7 @@ func processUploadedFile(ctx *context.Context, expectedType nuget_module.Package
np, err := nuget_module.ParsePackageMetaData(buf, buf.Size())
if err != nil {
- if err == nuget_module.ErrMissingNuspecFile || err == nuget_module.ErrNuspecFileTooLarge || err == nuget_module.ErrNuspecInvalidID || err == nuget_module.ErrNuspecInvalidVersion {
+ if errors.Is(err, util.ErrInvalidArgument) {
apiError(ctx, http.StatusBadRequest, err)
} else {
apiError(ctx, http.StatusInternalServerError, err)
diff --git a/routers/api/packages/pub/pub.go b/routers/api/packages/pub/pub.go
index 247950a214..1ece4e18ed 100644
--- a/routers/api/packages/pub/pub.go
+++ b/routers/api/packages/pub/pub.go
@@ -4,6 +4,7 @@
package pub
import (
+ "errors"
"fmt"
"io"
"net/http"
@@ -19,6 +20,7 @@ import (
packages_module "code.gitea.io/gitea/modules/packages"
pub_module "code.gitea.io/gitea/modules/packages/pub"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/routers/api/packages/helper"
packages_service "code.gitea.io/gitea/services/packages"
)
@@ -173,7 +175,11 @@ func UploadPackageFile(ctx *context.Context) {
pck, err := pub_module.ParsePackage(buf)
if err != nil {
- apiError(ctx, http.StatusInternalServerError, err)
+ if errors.Is(err, util.ErrInvalidArgument) {
+ apiError(ctx, http.StatusBadRequest, err)
+ } else {
+ apiError(ctx, http.StatusInternalServerError, err)
+ }
return
}
diff --git a/routers/api/packages/rubygems/rubygems.go b/routers/api/packages/rubygems/rubygems.go
index c1a10b5e78..af358fb82f 100644
--- a/routers/api/packages/rubygems/rubygems.go
+++ b/routers/api/packages/rubygems/rubygems.go
@@ -6,6 +6,7 @@ package rubygems
import (
"compress/gzip"
"compress/zlib"
+ "errors"
"fmt"
"io"
"net/http"
@@ -217,7 +218,11 @@ func UploadPackageFile(ctx *context.Context) {
rp, err := rubygems_module.ParsePackageMetaData(buf)
if err != nil {
- apiError(ctx, http.StatusInternalServerError, err)
+ if errors.Is(err, util.ErrInvalidArgument) {
+ apiError(ctx, http.StatusBadRequest, err)
+ } else {
+ apiError(ctx, http.StatusInternalServerError, err)
+ }
return
}
if _, err := buf.Seek(0, io.SeekStart); err != nil {