def post_process(result)
return unless result
result = result.to_a
return if result.first == AsyncResponse.first
@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