def post_process(result)
      return unless result
      result = result.to_a
      
      
      return if result.first == AsyncResponse.first
      
      set_content_length(result) if need_content_length?(result)
      
      @response.status, @response.headers, @response.body = *result
      log "!! Rack application returned nil body. Probably you wanted it to be an empty string?" if @response.body.nil?
      
      @response.persistent! if @request.persistent?
      
      @response.each do |chunk|
        trace { chunk }
        send_data chunk
      end
    rescue Exception
      handle_error
    ensure
      
      if @response.body.respond_to?(:callback) && @response.body.respond_to?(:errback)
        @response.body.callback { terminate_request }
        @response.body.errback  { terminate_request }
      else
        
        terminate_request unless result && result.first == AsyncResponse.first
      end
    end