cloudinary / cloudinary/cloudinary_gem

CloudinaryException is too vague

Offen
#338 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Ruby
Sterne
420
Forks
285
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

We've seen messages like `Resource not found` and `Error in loading`, which we'd like to handle as generic HTTP client errors (400-499). Unfortunately, we have to rescue the `CloudinaryException`, check its error message, and then determine what should be done.

I would propose having more than one exception class to make it possible for us to rescue something like `Cloudinary::HttpClientError` to ignore errors like HTTP 403 (Forbidden), 404 (Not Found), 408 (Request Timeout), etc.

One way to do this would be to add `class Cloudinary::HttpClientError < CloudinaryException; end` and then use that error for the cases that represent HTTP 400-499.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Lokalisieren Sie CloudinaryException und die HTTP-Antwortverarbeitung, die derzeit Meldungen wie "Resource not found" und "Error in loading." erzeugt. Verfolgen Sie, wie 400–499-Antworten klassifiziert werden, definieren Sie anschließend die Ausnahmehierarchie und überprüfen Sie, dass die relevanten Clientfehler separat abgefangen werden können. Das Issue nennt keine spezifischen Dateien oder Tests, daher sollte zunächst die bestehende Abdeckung durch Exceptions- und HTTP-Client-Tests ermittelt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
api, backend
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.