htty, the HTTP TTY(blog.nilsjonsson.com)
blog.nilsjonsson.com
htty, the HTTP TTY
http://blog.nilsjonsson.com/post/1076166313/introducing-htty-the-http-tty
7 comments
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!
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!
still worth a link to http-console though:
http://github.com/cloudhead/http-console
(one of my favorite little tools of this year, need to spend some time to make it support oauth crap at some point)
(one of my favorite little tools of this year, need to spend some time to make it support oauth crap at some point)
Yes, http-console really rocks. It was the inspiration for htty, as I indicate in the readme.
Just a bit of (unrelated) feedback: It's difficult to see the tty examples in small scaled images.
Clicking on the images gives you the enlarged version.
PNG-screenshots of a tty application - perfect.
I really like this - can see some real troubleshooting benefits for it. Great work!
Brilliant.
Any thoughts on Oauth2 and Facebook Graph support?
Any thoughts on Oauth2 and Facebook Graph support?
This looks like the perfect companion for playing around with a REST API.. very cool. Certainly more fun than composing monstrous curl invocations.
This app is crying out for readline support and command completion!
I'd take the next logical step: integrate it with a shell, much like zsh's zftp module does for FTP sessions.
I may have to write this now.
I may have to write this now.
This is interesting, but I'm curious: what do people think are the advantages or disadvantages of using this instead of Ruby's own readline support?
(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?)
(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 agree. Minimizing external dependencies (with a particular focus on the OS X experience) was a guiding principle of the project.
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.
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.
rlwrap is useful, but it lacks command tab completion.
Typing
http://www.google.com>; co[tab]-a
is much easier than typing
http://www.google.com>; cookies-a
Typing
http://www.google.com>; co[tab]-a
is much easier than typing
http://www.google.com>; cookies-a
rlwrap can do completion, given a little setting-up: http://utopia.knoware.nl/~hlub/rlwrap/rlwrap.html
This + REST = CLI for the Web
So, basically http://search.cpan.org/dist/WWW-Mechanize-Shell then. Congratulations, your new wheel is round and shiny.
This is the most useful comment of all, because it summarizes the software in eleven words (although it left out "for Ruby".)
+1 on the Perl love.
Doesn't look like that supports other HTTP methods (a CTRL-F for 'delete' shows nothing).
Yes, all these HTTP methods are supported: GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE.
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.
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.
Some of us may not want to install perl or figure out how to use cpan. If this project is not useful to you, then don't comment. Please don't comment just for being sarcastic
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!