'Parses the HTTP response body and extract HTML forms, resulting forms
are put() on the output queue.'

def _extract_html_forms(self, resp, fuzzable_req):

    try:
        dp = parser_cache.dpc.get_document_parser_for(resp)
    except BaseFrameworkException:
        return
    mode = cf.cf.get('form_fuzzing_mode')
    for form_params in dp.get_forms():
        form_id_json = form_params.get_form_id().to_json()
        om.out.debug(('A    new    form    was    found!    Form-id    is:    "%s"' % form_id_json))
        if (not self._should_analyze_url(form_params.get_action())):
            continue
        headers = fuzzable_req.get_headers()
        for form_params_variant in form_params.get_variants(mode):
            data_container = dc_from_form_params(form_params_variant)
            r = FuzzableRequest.from_form(data_container, headers=headers)
            self.output_queue.put(r)
