@Override
    public final NacosRestTemplate createNacosRestTemplate() {
        final HttpClientConfig originalRequestConfig = buildHttpClientConfig();
        final RequestConfig defaultConfig = getRequestConfig();
        return new NacosRestTemplate(assignLogger(), new DefaultHttpClientRequest(
                HttpClients.custom()
                        .addInterceptorLast(new RequestContent(true))
                        .setDefaultRequestConfig(defaultConfig)
                        .setUserAgent(originalRequestConfig.getUserAgent())
                        .setMaxConnTotal(originalRequestConfig.getMaxConnTotal())
                        .setMaxConnPerRoute(originalRequestConfig.getMaxConnPerRoute())
                        .setConnectionTimeToLive(originalRequestConfig.getConnTimeToLive(),
                                originalRequestConfig.getConnTimeToLiveTimeUnit()).build(), defaultConfig));
    }
@Test
    void testCreateNacosRestTemplate() throws NoSuchFieldException, IllegalAccessException {
        HttpClientFactory factory = new AbstractApacheHttpClientFactory() {
            @Override
            protected HttpClientConfig buildHttpClientConfig() {
                return HttpClientConfig.builder().build();
            }
            
            @Override
            protected Logger assignLogger() {
                return logger;
            }
        };
        NacosRestTemplate template = factory.createNacosRestTemplate();
        assertNotNull(template);
        Field field = NacosRestTemplate.class.getDeclaredField("requestClient");
        field.setAccessible(true);
        HttpClientRequest requestClient = (HttpClientRequest) field.get(template);
        assertTrue(requestClient instanceof DefaultHttpClientRequest);
    }