def request(self, url: str = "", **kwargs: t.Any) -> DataHTTPResponse:
        """Open a connection and make a request to the server, returning the
        response.

        The response object ``data`` parameter has the result of
        ``response.read()``. If the response has a ``application/json`` content
         type, the ``json`` parameter is populated with ``json.loads(data)``.

        :param url: URL to put in the request line.
        :param kwargs: Arguments to :meth:`http.client.HTTPConnection.request`.
        """
        kwargs.setdefault("method", "GET")
        kwargs["url"] = url
        response: DataHTTPResponse

        with closing(self.connect()) as conn:
            conn.request(**kwargs)

            with conn.getresponse() as response:  # type: ignore[assignment]
                response.data = response.read()

        if response.headers.get("Content-Type", "").startswith("application/json"):
            response.json = json.loads(response.data)
        else:
            response.json = None

        return response
Open a connection and make a request to the server, returning the
        response.

        The response object ``data`` parameter has the result of
        ``response.read()``. If the response has a ``application/json`` content
         type, the ``json`` parameter is populated with ``json.loads(data)``.

        :param url: URL to put in the request line.
        :param kwargs: Arguments to :meth:`http.client.HTTPConnection.request`.
        
tests/conftest.py