public <T> HttpResponse<T> httpRequest(String url, String method, HttpHeaders headers, Object requestBodyData,
                                                  TypeReference<T> responseFormat) {
        return httpRequest(url, method, headers, requestBodyData, responseFormat, null, null);
    }
@Test
    public void testHttpRequestInterrupted() throws ExecutionException, InterruptedException, TimeoutException {
        Request req = mock(Request.class);
        doThrow(new InterruptedException()).when(req).send();
        doReturn(req).when(req).header(anyString(), anyString());
        doReturn(req).when(httpClient).newRequest(anyString());
        ConnectRestException e = assertThrows(ConnectRestException.class, () -> httpRequest(
                httpClient, MOCK_URL, TEST_METHOD, TEST_TYPE, TEST_SIGNATURE_ALGORITHM
        ));
        assertIsInternalServerError(e);
        assertInstanceOf(InterruptedException.class, e.getCause());
        assertTrue(Thread.interrupted());
    }