Das Kommandozeilenwerkzeug Hurl schickt einem Server vorgegebene HTTP-Anfragen und eignet sich so besonders für Tests von Web-APIs. Die Version 6 führt Funktionen ein, die dynamisch Werte in die Anfragen einbauen. Allerdings gibt es dabei einen Haken.
Hurl-Anwender hinterlegen zunächst in einer Textdatei alle Anfragen, die das Tool anschließend an die gewünschten Server schickt. Um unter anderem das aktuelle Datum mitsenden zu können, boten bereits die Vorversionen Variablen an. Diese Platzhalter in der Konfigurationsdatei ersetzt Hurl dann durch den Wert, den man dem Tool bei seinem Aufruf als Parameter übergibt.
Funktionen
In der Version 6.0.0 erweitert Hurl diese Möglichkeiten um Funktionen. Sie erzeugen direkt einen Wert und bauen ihn an der entsprechenden Stelle in der Konfigurationsdatei ein. Eigene Funktionen schreiben darf man allerdings nicht. Stattdessen bringt Hurl 6.0.0 gerade einmal zwei vorgegebene Funktionen mit. Während „newUuid“ einen zufällig ausgewürfelten Universally Unique Identifier (UUID) erzeugt, liefert „newDate“ die aktuelle Zeit als UTC-Datum (gemäß RFC 3339).
Beide Funktionen baut man zudem wie Variablen ein:
PUT https://example.org/api/events
Content-Type: application/json
{
"date": "{{newDate}}"
}
Damit lassen sich gleichzeitig ihre Begriffe nicht mehr als Variablennamen verwenden.
Kurzschreibweisen
Des Weiteren erspart Hurl 6.0.0 ein wenig Tipparbeit: Einige Section-Titel existieren jetzt auch in einer Kurzschreibweise. So genügt ab sofort ein [Query] statt [QueryStringParams]. Analog lässt sich anstelle von [FormParams] kurz [Form] und anstelle von [MultipartFormData] kurz [Multipart] schreiben. Die Entwickler weisen in ihrer Ankündigung darauf hin, dass die Dokumentation derzeit noch die langen Fassungen verwendet.
Curl-Hilfen
Im Hintergrund greift Hurl auf das Werkzeug Curl zurück. Um den Ursachen von Problemen schneller auf die Spur zu kommen, protokolliert Hurl 6.0.0 auf Wunsch alle von ihm erzeugten Curl-Aufrufe in einer Textdatei. Dazu ist lediglich die Angabe des neuen Parameters „–curl“ erforderlich.
Des Weiteren lassen sich zwei Curl-Fähigkeiten auch in Hurl nutzen: Zum einen lässt sich die Datenrate limitieren, zum anderen kann man den Timeout für die Verbindung vorgeben. Beide Optionen übergibt man in entsprechenden Parametern an Hurl übergeben oder gibt sie für jede Anfrage separat in der Konfigurationsdatei vor.





