Send the request defined by the data stored in the object.

def send(self, **kwargs):
        """
        Send the request defined by the data stored in the object.
        """
        return_full_object = kwargs.get('return_full_object', False)
        _verbose = kwargs.get('_verbose', False)
        traversal = kwargs.get('traversal', None)
        timeout = kwargs.get('_timeout', 5)
        self.output['url'] = self.render_url()
        with VerboseContextManager(verbose=_verbose):
            try:
                resp = Response(self.action.format(), request(timeout=timeout, **self.output), traversal)
            except HTTPError as err:
                raise ResponseException(self.action.format(), err)
            except socket.timeout:
                raise RequestTimeout(functools.partial(self.send, **kwargs))
            except URLError as err:
                if isinstance(err.reason, socket.timeout):
                    raise RequestTimeout(functools.partial(self.send, **kwargs))
                else:
                    raise

        if return_full_object:
            return resp
        else:
            return resp.read()