htty, the HTTP TTY (blog.nilsjonsson.com)
I just published a first release of a new console app called htty. I like to think it’s something of a cross between curl and the Lynx browser.
Some bullet points:
* Intuitive commands and command aliases * Support for familiar HTTP methods GET, POST, PUT, and DELETE, as well as HEAD, OPTIONS and TRACE * Automatic URL-encoding of query-string parameters and URL fragments * Transcripts, both verbose and summary * Dead-simple cookie handling and redirect following * Built-in help
Why do this when the admirable Node.js-based http-console exists? To begin with, not everybody is into Node yet, and so installing http-console is not as simple as 'gem install htty'. Furthermore, http-console's spare UI is not as full-featured as it might be.
I have some killer features in mind for the near future. Fork and contribute!
29 comments
[ 2.9 ms ] story [ 83.8 ms ] threadTo begin with, not everybody is into Node yet, and so installing http-console is not as simple as 'gem install htty'.
Furthermore, http-console's spare UI is not as full-featured as it might be.
I have some killer features in mind for the near future.
Fork and contribute!
(one of my favorite little tools of this year, need to spend some time to make it support oauth crap at some point)
Any thoughts on Oauth2 and Facebook Graph support?
The command aliases are set up to reflect frequency of use. GET, POST, PUT, and DELETE can be invoked using those words as commands, but HEAD, OPTIONS, and TRACE must be specified as 'http-head', 'http-options', and 'http-trace', respectively.
I may have to write this now.
(My first thought: rlwrap already exists. Add one point. A disadvantage is that rlwrap makes the readline support depend on an external, third-party program which would need to be installed separately. Subtract one?)
I will probably use Ruby Readline (http://bogojoker.com/readline) to implement this. Another planned feature will likely require using Curses. It would be nice to reduce these two dependencies to one, but I'm not sure I'll start by reimplementing Ruby Readline in Curses.
Typing
http://www.google.com>; co[tab]-a
is much easier than typing
http://www.google.com>; cookies-a