201

Team Members

  • defunkt
  • leahculver

What

Hurl makes HTTP requests. Great for testing APIs! Choose your URL, HTTP method, body, headers and view your request and the response.

Where

Entry URL:
http://hurl.it
Info / Screencast URL:
http://hurl.r09.railsrumble.com/about/

How

Libraries:
* Ruby Enterprise Edition
* Phusion Passenger
* Yajl-Ruby ( `gem install yajl-ruby` )
* Sinatra ( `gem install sinatra` )
* Curb ( `gem install curb` )
* Redis ( `rake -f vendor/redis-rb/tasks/redis.tasks.rb redis:install` )
* Python 2.5.2
* simplejson ( `easy_install simplejson` )
* Pygments ( `easy_install Pygments` )
* xmllint ( `emerge dev-libs/libxml2` )
* jQuery 1.3.2 (http://jquery.com/)
* jQuery Form (http://malsup.com/jquery/form/)
* jQuery Autocomplete (http://dyve.net/jquery/?autocomplete)
* jQuery Relatize Date (http://github.com/github/jquery-relatize_date/tree/master)
* jQuery Facebox (http://famspam.com/facebox)
* json2.js (http://www.json.org/json2.js)

Graphics:
* Pointy font (http://www.dafont.com/pointy.font)
* Wavy Waves illustration (http://www.istockphoto.com/stock-illustration-5357958-wavy-waves-retro-vector-dots-2.php)
* Rainbiw Rider illustration (http://www.istockphoto.com/stock-illustration-3691486-rainbiw-rider.php)
* Sweetie icons (http://sweetie.sublink.ca/)

Comments

Fantastic Idea. Other features might be some sort of API key storage or management. Would love to see an “export in ___ format” option, i.e. convert to xml, csv, etc…

Sorry about the fork errors everyone, we didn’t expect so much use out of Hurl and it’s taxing the server we installed it on.

Should work great today! And for anyone uncertain about the functionality, check the screencast: http://hurl.r09.railsrumble.com/about/

I ran into a lot of errors and it didn’t seem to work out as expected. I like the idea though..

good idea. been using curl a lot recently so this has been pretty serendipitous for me. good work! Occasionally getting the Cannot allocate memory – fork(2) error though.

Also got “Cannot allocate memory – fork(2)” I do like the rainbows and unicorns, but the rest of the colors are difficult to look at.

Excellent!!!

Tried to check this out, but I’m getting:
Cannot allocate memory – fork(2)

Argh. Kick the tires and I’ll try tomorrow.

took me 3 visits to the site to even figure out what it was supposed to do.

I don’t have much need for http requests at the moment, but this looks like it could be useful for someone who works with this kind of thing on a daily basis. Congrats on your app!

Awesome tool – Very useful!

This will be so useful for testing out the API for my web application. It’ll also be nice because I’ll be able to link to a pre-filled hurl form in my documentation that users can play with rather than having to just give them a big long ugly curl command to use. Good job!

“No you can’t use Python” in the rules could be a stickler-issue. I think you can’t be expected to use Rails as your web app, web server, OS and virtual machine. Python in the background ought to be legitimate.

Excellent application, clever idea, useful, clear (minimal UI FTW), *

Like the idea a lot. Not too fond of storing private data such as oAuth or HTTP Auth credentials by default (when logged in). The video is great, wouldn’t have discovered all features without it.

Thanks for the feedback everyone!

Here’s a link to a request I issued to the GitHub API along with the reponse I got back: http://hurl.r09.railsrumble.com/hurls/da0838427e5fef02921ca2346f59480da2e9e5d9/dcf8e0d0838dfe986d921bdcaeac907fbd2e933a

Good luck sharing curl output that someone can try themselves by clicking a button ;)

Visual: It’s plain. But that works. Too many entries look nice but work like crap. This one doesn’t focus on the prettiness because I think it gets that pretty does not mean functional.

Completeness: Other than a little parsing trouble with a couple of APIs, this thing worked really well. I appreciated how easy it was to use.

Innovation: Making a ‘curl’ for the web that saves your commands seems nice, but also seems ripe for abuse.

Usefulness: Honestly, I’m not using this. I just don’t see the point. This is nothing I can’t do with the restclient gem or plain old curl. However, take that with a grain of salt – you may be on to something here. It’s just not useful to me.

But really, nice job.

well i’m not a developer so .. how i use it?

Id much prefer this over using resttest in firebug. Good job!

This is excellent guys. I really hope you run a hosted version, I’ll use it all the time.

Very incomplete implementation of curl, shipped with every Mac.
However, nicely done and finished.

It’s a nice idea.. but really what’s wrong with a terminal?

Pocket size powerful application!

This is definitely one of those tools that I’ll come back and use repetitively. Not so keen on the background :D

Really great idea. My only complaint is that the design is a bit plain. Otherwise, one of the best apps to come out of this years Rumble.

This is one of my favorites. Hurl is designed to do one thing, and do it well – and in style! I think the background could be toned down a little bit but that’s probably just me. Great job though.

@Sarav everything is more complex than it looks :) The fact that they make it look so simple is a testament to how well executed this app was. (Also, IME mechanize sucks, long live curb)

Man! I totally had this idea some time ago. Add file uploads and payload POSTS (i.e. not form encoded) and this will be one of my favoritest tools on the planet.

Looking at the experts comment I think there must me something great in this application but I traversed a lot to find it out but no luck. I’m sorry I may be wrong here but I guess the same functionality could have been easily build using “mechanize / hpricot” gems. If someone can let me know the necessity of so many libraries I would be happy..

leahculver — And so it does! I wonder why autocomplete wasn’t working for me yesterday? Maybe I mistyped a header name really quickly and didn’t notice the autocomplete flash.

(Which, btw, would be sweet)

@nemytchenko Our app is built with Ruby. It has dependencies in other languages – just like yours does. Unless your OS and database are written in Ruby ;)

@nemytchenko As long as your application itself is written in ruby, that’s fine. It’s like using tidy or something on your server / any library not written in ruby.

Hmm.
Rumble Rules: “No, you can’t use Python.”
Libraries:

  • Python 2.5.2
  • simplejson ( `easy_install simplejson` )
  • Pygments ( `easy_install Pygments` )
    Is that ok?

Great idea, simple, useful, clean and polished execution, should be a useful tool for every developer out there. Awesome.

shrapnel – Hurl has autocomplete of HTTP headers! Just start typing a new header and Hurl will pop up some suggestions for both keys and values.

Nice work! The only thing I can think to add is a selection list or autocomplete of HTTP header names, since I’m not well-versed enough to be able to recall them at will. Maybe intelligent helpers for header values, too (like date/time selectors for If-Modified-Since).

Pretty cool app, well done!

Pretty cool app, well done!

Oh, Hurl, where have you been my whole life?

Seriously, I love this project. If I didn’t have a wife, I’d marry it. Heck, it can marry my daughter if it wants. That’s how I feel about Hurl.

I’ve seen a lot of focused apps this Rumble, and the best ones keep the design simple, and drop the distractions to a minimum. Hurl’s in that category. The interface is keen, with my only suggestion being to add a way to delete a past hurl from the console (when you’ve scrolled back through the history). Also, your 404 page is genius – just wanted to get that in there.

It certainly seems like you’ve thought of everything immediately useful in the app as it currently stands – or at least I can’t think of anything offhand to add.

The completeness of your app is even more impressive when you realize that this is something new. I know people have described a lot of web 2.0 as the porting of Unix command line tools to the web (Google == find, etc.), but this really takes things to a whole new level. You’ve made curl obsolete for one of its primary functions (at least in my toolbox). Wow!

So, usefulness: clearly, the audience for hurl is limited. For that audience, however, this is like an early birthday present. Thanks!

Awesome, awesome, awesome. Only real issue is when signing up, it seems the default action is Login rather than Signup so when I pressed Enter I got an error – no biggy. Also, perhaps you could leave the “Try it out” links in when you’re logged in somehow.. I found them useful for getting ideas.

We plan to open source it AND run a hosted version after the Rumble.

*cats. :/

You cat gonna open source this?

Great team and project, you are the masters :)