*Sends a DELETE request to the endpoint.*

        The endpoint is joined with the URL given on library init (if any).
        If endpoint starts with ``http://`` or ``https://``, it is assumed
        an URL outside the tested API (which may affect logging).

        *Options*

        ``timeout``: A number of seconds to wait for the response before failing the keyword.

        ``allow_redirects``: If false, do not follow any redirects.

        ``validate``: If false, skips any request and response validations set
        by expectation keywords and a spec given on library init.

        ``headers``: Headers as a JSON object to add or override for the request.

        *Examples*

        | `DELETE` | /users/6 |
        | `DELETE` | http://localhost:8273/state | validate=false |

def delete(
        self,
        endpoint,
        timeout=None,
        allow_redirects=None,
        validate=True,
        headers=None,
    ):
        """*Sends a DELETE request to the endpoint.*

        The endpoint is joined with the URL given on library init (if any).
        If endpoint starts with ``http://`` or ``https://``, it is assumed
        an URL outside the tested API (which may affect logging).

        *Options*

        ``timeout``: A number of seconds to wait for the response before failing the keyword.

        ``allow_redirects``: If false, do not follow any redirects.

        ``validate``: If false, skips any request and response validations set
        by expectation keywords and a spec given on library init.

        ``headers``: Headers as a JSON object to add or override for the request.

        *Examples*

        | `DELETE` | /users/6 |
        | `DELETE` | http://localhost:8273/state | validate=false |
        """
        endpoint = self._input_string(endpoint)
        request = deepcopy(self.request)
        request["method"] = "DELETE"
        if allow_redirects is not None:
            request["allowRedirects"] = self._input_boolean(allow_redirects)
        if timeout is not None:
            request["timeout"] = self._input_timeout(timeout)
        validate = self._input_boolean(validate)
        if headers:
            request["headers"].update(self._input_object(headers))
        return self._request(endpoint, request, validate)["response"]