89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/thin/connection.rb', line 89
def post_process(result)
return unless result
result = result.to_a
return if result.first == AsyncResponse.first
@response.status, @response., @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
|