public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session)
{
_log.Write(this, LogPrio.Trace, String.Format("Begin handling Rack request for {0}", request.Uri));
var rackRequest = request.ToRackRequest();
var rackResponse = new RackResponse(response.Body);
//this will write to the body. We may want to set headers first, so may need some thought.
_rack.HandleRequest(rackRequest, rackResponse);
response.Status = (HttpStatusCode)rackResponse.Status;
foreach (var header in rackResponse.Headers)
if (header.Key.ToLower() != "content-length")
response.AddHeader(header.Key, header.Value);
_log.Write(this, LogPrio.Trace, String.Format("Finished handling Rack request for {0}", request.Uri));
return true;
}