an interesting milestone: mod_slow
Crossed some kind of threshold today, I am sure. I needed a quick'n'dirty web server hack so broke out C for an apache module! What is happening to me?!
Basically, I needed something to put behind a proxy to do some load and capacity testing of the proxy. As I wanted to have things like the size of the response and time of the response be easily configurable on the load generator I needed to hack something up...
#include "httpd.h"
#include "http_config.h"
#include "http_protocol.h"
#include "ap_config.h"
#include "apr_time.h"
#include "apr_strings.h"
static int handler(request_rec *r)
{
    if (r->args)
        apr_sleep(apr_atoi64(r->args) * 1000);
    return DECLINED;
}
static void register_hooks(apr_pool_t *p)
{
    ap_hook_handler(handler, NULL, NULL, APR_HOOK_MIDDLE);
}
module AP_MODULE_DECLARE_DATA slow_module = {
    STANDARD20_MODULE_STUFF, 
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    register_hooks
};
  This very nicely lets me drop artificial slowdowns in front of the the 
  default handler (serve up files) so I can control "processing time" and 
  file size (pick the file with the size I want): 
  http://binky/big.html?2000 
  Sweet! Am kind of floored that the first solution which leapt to mind for 
  me was an apache module in C, though!
  For some reason, putting the sleep in fixups doubled the 
  sleep time, so I made it a declined handler and things worked fine. Need
  to figure out why.... someday.