af83

htty, une console pour les requêtes HTTP

Si vous développez des API Rest ou que vous en utilisez, vous vous êtes sûrement déjà retrouvé à essayer de forger des requêtes pour essayer une fonctionnalité, comprendre son fonctionnement ou débugger votre code. En ligne de commande, on utilise généralement curl pour faire ça, mais soyons honnêtes, ce n'est pas la méthode la plus efficace.

Depuis quelques temps, il existe un outil, http-console, qui simplifie grandement ça. Il permet d'ouvrir une console interactive pour naviguer dans l'API, faire des requêtes, déclarer des headers, etc. Pourtant, j'ai beaucoup de mal à m'y mettre. À chaque fois que je souhaite l'utiliser, mon installation de Node.js (http-console est codé en node.js) est cassée ou alors je suis obligé de relire la documentation pour me rappeler que toutes les commandes doivent être préfixées avec un anti-slash.

Et hier, j'ai découvert un nouvel logiciel, en Ruby ce coup-ci. Il s'appelle htty et c'est tout simplement génial. Il s'installe d'un simple gem install htty, le README est très bien écrit et permet de découvrir pas à pas comment utiliser htty, la coloration syntaxique est très agréable.

En pratique, on lance htty en précisant le nom du site sur lequel on va naviguer. On obtient alors un prompt sur lequel on peut taper des commandes comme get pour lancer une requête HTTP de type GET ou headers pour afficher les entêtes de la requête précédente. help vous donnera la liste des commandes et vous expliquera leur fonctionnement. J'apprécie tout particulièrement la manière dont il gère les redirections HTTP : il ne les suit pas automatiquement mais vous permet de le faire très simplement à la main avec la commande follow. C'est très pratique pour avoir le temps de lire les logs entre les 2 requêtes.

Au final, le projet est encore jeune mais déjà très utilisable. J'attends avec impatience la prochaine version avec complétion et historique des commandes à la readline.

blog comments powered by Disqus