From 4d19b87fffd17265474bdfb63c9ebe165f985f04 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 27 May 2021 12:40:38 +0200 Subject: [PATCH] :sparkles: Improve error report on uploading invalid image to library. --- backend/src/app/media.clj | 9 ++++----- backend/src/app/rpc/queries/svg.clj | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/app/media.clj b/backend/src/app/media.clj index 2ca686f500..10de5266e3 100644 --- a/backend/src/app/media.clj +++ b/backend/src/app/media.clj @@ -66,8 +66,7 @@ (defmethod process-error :default [error] - (ex/raise :type :internal - :cause error)) + (throw error)) (defn run [{:keys [rlimits] :as cfg} {:keys [rlimit] :or {rlimit :image} :as params}] @@ -184,11 +183,10 @@ (us/assert ::input input) (let [{:keys [path mtype]} input] (if (= mtype "image/svg+xml") - (let [data (svg/parse (slurp path)) - info (get-basic-info-from-svg data)] + (let [info (some-> path slurp svg/pre-process svg/parse get-basic-info-from-svg)] (when-not info (ex/raise :type :validation - :code :unable-to-retrieve-dimensions + :code :invalid-svg-file :hint "uploaded svg does not provides dimensions")) (assoc info :mtype mtype)) @@ -211,6 +209,7 @@ [error] (ex/raise :type :validation :code :invalid-image + :hint "invalid image" :cause error)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/backend/src/app/rpc/queries/svg.clj b/backend/src/app/rpc/queries/svg.clj index cd244aafdb..f8e978534f 100644 --- a/backend/src/app/rpc/queries/svg.clj +++ b/backend/src/app/rpc/queries/svg.clj @@ -36,6 +36,7 @@ :message (ex-message e)) (ex/raise :type :validation :code :invalid-svg-file + :hint "invalid svg file" :cause e)))) (declare pre-process)