The Resource Expert Droid
Thursday, 25 June 2009
A (very) long time ago, I wrote the Cacheability Engine to help people figure out how a Web cache would treat their sites. It has a few bugs, but is generally useful for that purpose.
However, as I’ve got more involved in using HTTP for non-browser things, it’s become apparent that more than caching is important when you’re examining a resource to see how it behaves; things like partial content, syntax checking and other esoteric but important details. Very often, I’d find myself manually debugging a RESTful Web service with telnet — and as they say, that doesn’t scale.
Looking back at that decade-old code, I decided that rather than fixing it up (“lipstick” and “pig” are two words that come to mind), I’d rewrite. The result, after quite a few evenings and weekends, is the Resource Expert Droid.
In a nutshell, RED is a framework for testing HTTP resources; it fetches responses, analyses them, and then based upon the responses it may interact with the resource more to see how it behaves. In this manner, it’s very purposefully encouraging RESTfulness.
Note that I say “resources”, not “servers.” Since a single server can serve you content in a number of different ways (think plain files vs. CGI vs. mod_autoindex), you need to test on a per-resource granularity when you have problems. Of course, this observation isn’t new.
A few examples for fun (please take it easy on these!):
Make sure you hover over the messages in the list for a full explanation of each.
REDbot is Open Source, and hosted at Github. It’s nowhere near finished yet, there’s still lots more to do (see the issues list), but contributions and suggestions are more than welcome.
15 Comments
jgraham said:
Thursday, June 25 2009 at 7:53 AM
Philip Taylor said:
Thursday, June 25 2009 at 8:53 AM
Mark Nottingham said:
Thursday, June 25 2009 at 10:42 AM
Steve Clay said:
Friday, June 26 2009 at 1:53 AM
Carl Meyer said:
Friday, June 26 2009 at 3:16 AM
Xiven said:
Friday, June 26 2009 at 6:23 AM
Mark Nottingham said:
Friday, June 26 2009 at 7:00 AM
MikeD said:
Friday, June 26 2009 at 7:00 AM
Mark Nottingham said:
Friday, June 26 2009 at 9:25 AM
Mark Nottingham said:
Friday, June 26 2009 at 10:23 AM
Kevin Reid said:
Saturday, June 27 2009 at 4:12 AM
Chris Ferris said:
Saturday, June 27 2009 at 8:47 AM
Mark said:
Wednesday, July 1 2009 at 2:18 AM
Mark said:
Wednesday, July 1 2009 at 2:28 AM
Mark Nottingham said:
Wednesday, July 1 2009 at 3:59 AM