Was dieses Tool macht
Konvertiert cURL-Befehle in JavaScript-fetch()-Aufrufe und zurück. Methode, Header, Request-Body, Basic-Auth und Cookies werden in beiden Richtungen übertragen. Praktisch, wenn du einen curl aus dem Terminal oder aus Chrome-DevTools "Copy as cURL" hast und ihn als Code willst — oder wenn du ein fetch-Snippet mit jemandem teilen willst, dessen Browser du nie sehen wirst.
Wann du es brauchst
- Einen curl aus der Vendor-Doku in deinen TypeScript-Client übersetzen.
- Einen fehlschlagenden Request aus einem Bug-Report ("hier der curl") in einem Node-Skript reproduzieren.
- Einen Request als fetch-Snippet teilen, den ein Teammate direkt in die Browser-Konsole pasten kann.
- Ein laufendes fetch als curl umschreiben, um einen Backend-Bug zu filen.
Wie es funktioniert
Die curl-Richtung parst den Input als Shell-Kommando — gequotete Strings werden respektiert, Zeilenfortsetzungen (\) werden zusammengezogen, und gängige Flags (-X, -H, -d, -u, -A, -e, -b) werden erkannt. -u user:pass wird als Authorization: Basic-Header umgeschrieben, damit es in jedem HTTP-Client funktioniert.
Die fetch-Richtung liest einen fetch()-Aufruf und zieht URL, Methode, Header und Body heraus. Es ist ein Regex-basierter Extractor, kein JS-Parser — String-Literale funktionieren, Template-Literals und berechnete Werte nicht.
Hinweise
Mein fetch mit JSON-Template-Literal wurde nicht übersetzt. Richtig — der Parser liest nur literale Strings. Ersetze \{ "id": \${id} }`` durch den aufgelösten String oder mach diese Konvertierung vorab.
Wird --data-binary anders behandelt als -d? Nein. cURL unterscheidet sie (eines erhält Newlines, das andere nicht), aber für die fetch-Übersetzung behandeln wir beide als Request-Body. Wenn du auf der Binary-Semantik bestehst, bist du eh jenseits dessen, was fetch ausdrücken kann.
Was ist mit HTTP/2-Push, Multipart-Upload, Streaming? Out of Scope. Multipart ist der häufigste Fall — dafür baust du FormData lieber im Code, nicht durch dieses Tool.
Verwandte Tools
- HTTP-Statuscodes — Antworten interpretieren
- JSON-Formatter — Body aufräumen
- URL-Encoder — für Query-Strings