'Actually sends the manual requests.
:param widg: who sent the signal.'

def _send(self, widg):

    (tsup, tlow) = self.reqresp.request.get_both_texts()
    busy = gtk.gdk.Window(self.window, gtk.gdk.screen_width(), gtk.gdk.screen_height(), gtk.gdk.WINDOW_CHILD, 0, gtk.gdk.INPUT_ONLY)
    busy.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
    busy.show()
    while gtk.events_pending():
        gtk.main_iteration()
    fix_content_len = self._fix_content_len_cb.get_active()
    event = threading.Event()
    impact = ThreadedURLImpact(self.w3af, tsup, tlow, event, fix_content_len)
    def impact_done():
        if (not event.isSet()):
            return True
        busy.destroy()
        if impact.ok:
            self.reqresp.response.set_sensitive(True)
            self.reqresp.response.show_object(impact.httpResp)
            self.reqresp.nb.next_page()
        elif hasattr(impact, 'exception'):
            known_exceptions = (BaseFrameworkException, ScanMustStopException, HTTPRequestException, ProxyException)
            if (not isinstance(impact.exception, known_exceptions)):
                raise impact.exception
            else:
                msg = 'Stopped    sending    requests    because    of    the    following    unexpected    error:\n\n%s'
                self.reqresp.response.clear_panes()
                self.reqresp.response.set_sensitive(False)
                gtk.gdk.threads_enter()
                helpers.FriendlyExceptionDlg((msg % impact.exception))
                gtk.gdk.threads_leave()
        else:
            self.reqresp.response.clear_panes()
            self.reqresp.response.set_sensitive(False)
            gtk.gdk.threads_enter()
            helpers.FriendlyExceptionDlg('Errors    occurred    while    sending    the    HTTP    request.')
            gtk.gdk.threads_leave()
        return False
    impact.start()
    gobject.timeout_add(200, impact_done)
