April 2020: Der CDN kommt jetzt auch mit einer REST-API die wie folgt funktioniert:
Bei einer falschen Anfrage kommt (wie auch beim TranslationManager) immer eine Struktur mit success => true|false zurück und dementsprechend ein data oder error array. Die lästigen HTML-Fehler sind dann auch damit verschwunden.
Alle Uploads laufen über /rest/upload.
Image Uploads

GIF Uploads
Ähnlich wie bei den Videos (der Abschnitt darunter) wird bei GIFs jetzt auch automatisch ein Thumbnail erstellt. Siehe folgende Response-Struktur:
[{"quality":80,"fetch_format":"mp4"}]

Video Uploads
Bei MP4/Webm Uploads gibt es ein besonderes Zusatzfeld: „thumbnail“. Dies liefert den ersten Frame des Videos.
ACHTUNG: Bbitte nur die Options für das Video selbst schicken, das Thumbnail wird automatisch erstellt!

Audio Uploads
Audios liefern viel weniger Daten zurück – lediglich msg und data.

Image transformations
Route: /rest/transform-image.
Diese Route bekommt den Original-Filenamen als Parameter und transformiert das Original wie gewünscht mit den Options. Returnt eine simple Response:

Error-Handling
Falls falsche Cloudinary-Options eingegeben wurden, bekommt man eine Error Response mit entsprechender Beschreibung zurück:

Im Falle dessen, dass der CDN selbst Fehler aufweist (programm-technisch), wird auch ein passender Error geworfen:

Für die Backend-Elfen
Es gibt jetzt auch eine umfassende Testsuite mit allen möglichen Tests, die den CDN auf Herz und Nieren testen. Man kann die Tests im Root-Directory mit
./bin/phpunit
ausführen. Die Tests können mal gut ~50-60 Sekunden brauchen aufgrund der vielen Test-Uploads. Das Folgende sollte ausgegeben werden:

Sollte hier mal was schief gehen, sollte auch eine passende Test-Fehlernachricht ausgegeben werden, ich (Philipp) kann aber in jedem Fall helfen.
BEST USE CASE FÜR DIE TESTS: Vor jedem Commit beim CDNM die Testsuite durchlaufen lassen und damit sicherstellen, dass man nichts zerstört hat. Bei grundlegenden Änderungen müssen die Tests abgeändert werden.