'Calls the application with this request\'s environment.  Returns the
status, headers, and app_iter for the response as a tuple.
:param application: the WSGI application to call'

def call_application(self, application):

    output = []
    captured = []
    def start_response(status, headers, exc_info=None):
        captured[:] = [status, headers, exc_info]
        return output.append
    app_iter = application(self.environ, start_response)
    if (not app_iter):
        app_iter = output
    if (not captured):
        app_iter = reiterate(app_iter)
    return (captured[0], captured[1], app_iter)
