'Consume a fuzzable_request that was found by the crawl/infrastructure
plugins. Basically perform these steps:
* GET the FuzzableRequest and get a handler to the HTTPResponse inst
* Send the fuzzable_request and http_response instances to all
plugins in different threads in order for them to work on them
Getting the original response at this level is a performance
enhancement to avoid sending the same HTTP request many times, once
for each audit plugin that needed the http_response.
:param fuzzable_request: A FuzzableRequest instance'

def _consume(self, fuzzable_request):

    try:
        orig_resp = self.get_original_response(fuzzable_request)
    except Exception as e:
        self.handle_exception('audit', 'audit.get_original_response()', 'audit.get_original_response()', e)
        return
    self._run_observers(fuzzable_request)
    for plugin in self._consumer_plugins:
        om.out.debug(('%s    plugin    is    testing:    "%s"' % (plugin.get_name(), fuzzable_request)))
        self._w3af_core.status.set_running_plugin('audit', plugin.get_name())
        self._w3af_core.status.set_current_fuzzable_request('audit', fuzzable_request)
        self._threadpool.apply_async(self._audit, (plugin, fuzzable_request, orig_resp))
