Example usage for org.springframework.web.client RestTemplate setRequestFactory

List of usage examples for org.springframework.web.client RestTemplate setRequestFactory

Introduction

In this page you can find the example usage for org.springframework.web.client RestTemplate setRequestFactory.

Prototype

@Override
public void setRequestFactory(ClientHttpRequestFactory requestFactory) 

Source Link

Usage

From source file:org.cloudfoundry.identity.uaa.ServerRunning.java

public RestTemplate createRestTemplate() {
    RestTemplate client = new RestTemplate();
    client.setRequestFactory(new StatelessRequestFactory());
    client.setErrorHandler(new ResponseErrorHandler() {
        // Pass errors through in response entity for status code analysis
        @Override// w ww.j  a  v a  2s  .c o m
        public boolean hasError(ClientHttpResponse response) throws IOException {
            return false;
        }

        @Override
        public void handleError(ClientHttpResponse response) throws IOException {
        }
    });
    return client;
}

From source file:org.springframework.boot.test.web.client.TestRestTemplateTests.java

private void verifyRelativeUriHandling(TestRestTemplateCallback callback) throws IOException {
    ClientHttpRequestFactory requestFactory = mock(ClientHttpRequestFactory.class);
    MockClientHttpRequest request = new MockClientHttpRequest();
    request.setResponse(new MockClientHttpResponse(new byte[0], HttpStatus.OK));
    URI absoluteUri = URI.create("http://localhost:8080/a/b/c.txt?param=%7Bsomething%7D");
    given(requestFactory.createRequest(eq(absoluteUri), (HttpMethod) any())).willReturn(request);
    RestTemplate delegate = new RestTemplate();
    TestRestTemplate template = new TestRestTemplate(delegate);
    delegate.setRequestFactory(requestFactory);
    LocalHostUriTemplateHandler uriTemplateHandler = new LocalHostUriTemplateHandler(new MockEnvironment());
    template.setUriTemplateHandler(uriTemplateHandler);
    callback.doWithTestRestTemplate(template, URI.create("/a/b/c.txt?param=%7Bsomething%7D"));
    verify(requestFactory).createRequest(eq(absoluteUri), (HttpMethod) any());
}

From source file:org.cloudfoundry.identity.batch.integration.ServerRunning.java

public RestTemplate createRestTemplate() {
    RestTemplate client = new RestTemplate();
    client.setRequestFactory(new HttpComponentsClientHttpRequestFactory() {
        @Override/*from   www  .  j  a v a2 s.  c  o m*/
        public HttpClient getHttpClient() {
            HttpClient client = super.getHttpClient();
            client.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, false);
            client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.IGNORE_COOKIES);
            return client;
        }
    });
    client.setErrorHandler(new ResponseErrorHandler() {
        // Pass errors through in response entity for status code analysis
        public boolean hasError(ClientHttpResponse response) throws IOException {
            return false;
        }

        public void handleError(ClientHttpResponse response) throws IOException {
        }
    });
    return client;
}

From source file:org.apigw.authserver.ServerRunning.java

public RestTemplate getRestTemplate() {
    RestTemplate client = new RestTemplate();
    client.setRequestFactory(new HttpComponentsClientHttpRequestFactory() {
        @Override/*from   w  w  w .j ava  2  s  . c  o m*/
        public HttpClient getHttpClient() {
            HttpClient client = super.getHttpClient();
            client.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, false);
            client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.IGNORE_COOKIES);
            return client;
        }
    });
    client.setErrorHandler(new ResponseErrorHandler() {
        // Pass errors through in response entity for status code analysis
        public boolean hasError(ClientHttpResponse response) throws IOException {
            return false;
        }

        public void handleError(ClientHttpResponse response) throws IOException {
        }
    });
    return client;
}

From source file:org.cruk.genologics.api.GenologicsAPIPaginatedBatchTest.java

@Test
public void testMultipageFetchListSome() throws Exception {
    // Note - reusing the files from above means that the subsequent pages
    // with have "&projectname=Run+1030" as part of the URL. This can be ignored
    // for this test.

    // Part one - mock the rest template to return the already parsed objects.

    RestOperations restMock = EasyMock.createStrictMock(RestOperations.class);

    EasyMock.expect(restMock.getForEntity("http://lims.cri.camres.org:8080/api/v2/samples?start-index=0",
            Samples.class)).andReturn(response1).once();
    EasyMock.expect(restMock.getForEntity(
            new URI("http://lims.cri.camres.org:8080/api/v2/samples?start-index=500&projectname=Run+1030"),
            Samples.class)).andReturn(response2).once();
    // Should get as far as response 3 in this test.

    GenologicsAPIImpl localApi = context.getBean("genologicsAPI", GenologicsAPIImpl.class);
    localApi.setRestClient(restMock);/*from w ww .j a  v a2s.c  o  m*/
    localApi.setServer(new URL("http://lims.cri.camres.org:8080"));

    EasyMock.replay(restMock);

    List<LimsLink<Sample>> links = localApi.listSome(Sample.class, 0, 750);

    EasyMock.verify(restMock);

    assertEquals("Expected 750 sample links returned", 750, links.size());

    // Part two - mock the HTTP client and request factory to ensure that the URIs are
    // being presented as expected without character cludging.

    HttpContext httpContext = HttpClientContext.create();
    HttpClient mockHttpClient = EasyMock.createMock(HttpClient.class);
    ClientHttpRequestFactory mockRequestFactory = EasyMock.createMock(ClientHttpRequestFactory.class);

    RestTemplate restTemplate = context.getBean("genologicsRestTemplate", RestTemplate.class);
    restTemplate.setRequestFactory(mockRequestFactory);

    localApi.setHttpClient(mockHttpClient);
    localApi.setRestClient(restTemplate);

    URI pageOne = new URI("http://lims.cri.camres.org:8080/api/v2/samples?start-index=0");
    URI pageTwo = new URI(
            "http://lims.cri.camres.org:8080/api/v2/samples?start-index=500&projectname=Run+1030");

    HttpGet getOne = new HttpGet(pageOne);
    HttpGet getTwo = new HttpGet(pageTwo);

    HttpResponse responseOne = createMultipageFetchResponse(pageFiles[0]);
    HttpResponse responseTwo = createMultipageFetchResponse(pageFiles[1]);

    Class<?> requestClass = Class.forName("org.springframework.http.client.HttpComponentsClientHttpRequest");
    Constructor<?> constructor = requestClass.getDeclaredConstructor(HttpClient.class, HttpUriRequest.class,
            HttpContext.class);
    constructor.setAccessible(true);

    ClientHttpRequest reqOne = (ClientHttpRequest) constructor.newInstance(mockHttpClient, getOne, httpContext);
    ClientHttpRequest reqTwo = (ClientHttpRequest) constructor.newInstance(mockHttpClient, getTwo, httpContext);

    EasyMock.expect(mockRequestFactory.createRequest(pageOne, HttpMethod.GET)).andReturn(reqOne).once();
    EasyMock.expect(mockRequestFactory.createRequest(pageTwo, HttpMethod.GET)).andReturn(reqTwo).once();

    EasyMock.expect(mockHttpClient.execute(getOne, httpContext)).andReturn(responseOne).once();
    EasyMock.expect(mockHttpClient.execute(getTwo, httpContext)).andReturn(responseTwo).once();

    EasyMock.replay(mockHttpClient, mockRequestFactory);

    links = localApi.listSome(Sample.class, 0, 750);

    EasyMock.verify(mockHttpClient, mockRequestFactory);

    assertEquals("Expected 750 sample links returned", 750, links.size());
}

From source file:se.vgregion.alfrescoclient.service.AlfrescoService.java

/**
 * Initialises the RestTemplate.//w  w  w.j a v  a  2 s .c o m
 *
 * @return the RestTemplate
 */
private RestTemplate initJsonRestTemplate() {
    RestTemplate template = new RestTemplate();
    CommonsClientHttpRequestFactory requestFactory = new CommonsClientHttpRequestFactory();
    final int timeout = 5000; // Five seconds
    requestFactory.setReadTimeout(timeout);
    template.setRequestFactory(requestFactory);
    HttpMessageConverter<?>[] httpMessageConverters = new HttpMessageConverter<?>[] {
            new MappingJacksonHttpMessageConverter() };
    template.setMessageConverters(Arrays.asList(httpMessageConverters));

    return template;
}

From source file:org.cruk.genologics.api.GenologicsAPIPaginatedBatchTest.java

@Test
public void testMultipageFetchFind() throws Exception {
    // Part one - mock the rest template to return the already parsed objects.

    RestOperations restMock = EasyMock.createStrictMock(RestOperations.class);

    EasyMock.expect(restMock.getForEntity("http://lims.cri.camres.org:8080/api/v2/samples?projectname=Run 1030",
            Samples.class)).andReturn(response1).once();
    EasyMock.expect(restMock.getForEntity(
            new URI("http://lims.cri.camres.org:8080/api/v2/samples?start-index=500&projectname=Run+1030"),
            Samples.class)).andReturn(response2).once();
    EasyMock.expect(restMock.getForEntity(
            new URI("http://lims.cri.camres.org:8080/api/v2/samples?start-index=1000&projectname=Run+1030"),
            Samples.class)).andReturn(response3).once();

    GenologicsAPIImpl localApi = context.getBean("genologicsAPI", GenologicsAPIImpl.class);
    localApi.setRestClient(restMock);//from  www  .j  a v a2 s. com
    localApi.setServer(new URL("http://lims.cri.camres.org:8080"));

    EasyMock.replay(restMock);

    Map<String, Object> terms = new HashMap<String, Object>();
    terms.put("projectname", "Run 1030");

    List<LimsLink<Sample>> links = localApi.find(terms, Sample.class);

    EasyMock.verify(restMock);

    assertEquals("Expected 1150 sample links returned", 1150, links.size());

    // Part two - mock the HTTP client and request factory to ensure that the URIs are
    // being presented as expected without character cludging.

    HttpContext httpContext = HttpClientContext.create();
    HttpClient mockHttpClient = EasyMock.createMock(HttpClient.class);
    AuthenticatingClientHttpRequestFactory mockRequestFactory = EasyMock
            .createMock(AuthenticatingClientHttpRequestFactory.class);

    RestTemplate restTemplate = context.getBean("genologicsRestTemplate", RestTemplate.class);
    restTemplate.setRequestFactory(mockRequestFactory);

    localApi.setHttpClient(mockHttpClient);
    localApi.setRestClient(restTemplate);

    URI pageOne = new URI("http://lims.cri.camres.org:8080/api/v2/samples?projectname=Run%201030");
    URI pageTwo = new URI(
            "http://lims.cri.camres.org:8080/api/v2/samples?start-index=500&projectname=Run+1030");
    URI pageThree = new URI(
            "http://lims.cri.camres.org:8080/api/v2/samples?start-index=1000&projectname=Run+1030");

    HttpGet getOne = new HttpGet(pageOne);
    HttpGet getTwo = new HttpGet(pageOne);
    HttpGet getThree = new HttpGet(pageOne);

    HttpResponse responseOne = createMultipageFetchResponse(pageFiles[0]);
    HttpResponse responseTwo = createMultipageFetchResponse(pageFiles[1]);
    HttpResponse responseThree = createMultipageFetchResponse(pageFiles[2]);

    Class<?> requestClass = Class.forName("org.springframework.http.client.HttpComponentsClientHttpRequest");
    Constructor<?> constructor = requestClass.getDeclaredConstructor(HttpClient.class, HttpUriRequest.class,
            HttpContext.class);
    constructor.setAccessible(true);

    ClientHttpRequest reqOne = (ClientHttpRequest) constructor.newInstance(mockHttpClient, getOne, httpContext);
    ClientHttpRequest reqTwo = (ClientHttpRequest) constructor.newInstance(mockHttpClient, getTwo, httpContext);
    ClientHttpRequest reqThree = (ClientHttpRequest) constructor.newInstance(mockHttpClient, getThree,
            httpContext);

    EasyMock.expect(mockRequestFactory.createRequest(pageOne, HttpMethod.GET)).andReturn(reqOne).once();
    EasyMock.expect(mockRequestFactory.createRequest(pageTwo, HttpMethod.GET)).andReturn(reqTwo).once();
    EasyMock.expect(mockRequestFactory.createRequest(pageThree, HttpMethod.GET)).andReturn(reqThree).once();

    EasyMock.expect(mockHttpClient.execute(getOne, httpContext)).andReturn(responseOne).once();
    EasyMock.expect(mockHttpClient.execute(getTwo, httpContext)).andReturn(responseTwo).once();
    EasyMock.expect(mockHttpClient.execute(getThree, httpContext)).andReturn(responseThree).once();

    EasyMock.replay(mockHttpClient, mockRequestFactory);

    links = localApi.find(terms, Sample.class);

    EasyMock.verify(mockHttpClient, mockRequestFactory);

    assertEquals("Expected 1150 sample links returned", 1150, links.size());
}

From source file:org.venice.piazza.servicecontroller.Application.java

@Bean
public RestTemplate restTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    HttpClient httpClient = HttpClientBuilder.create().setMaxConnTotal(httpMaxTotal)
            .setMaxConnPerRoute(httpMaxRoute).build();
    HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
    factory.setReadTimeout(httpRequestTimeout * 1000);
    factory.setConnectTimeout(httpRequestTimeout * 1000);
    restTemplate.setRequestFactory(factory);

    return restTemplate;
}

From source file:org.cloudfoundry.caldecott.client.HttpTunnelFactory.java

private RestTemplate createRestTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    CommonsClientHttpRequestFactory requestFactory = new CommonsClientHttpRequestFactory();
    requestFactory.setConnectTimeout(TIMEOUT);
    requestFactory.setReadTimeout(TIMEOUT);
    if (httpProxyConfiguration != null) {
        requestFactory.getHttpClient().getHostConfiguration().setProxy(httpProxyConfiguration.getProxyHost(),
                httpProxyConfiguration.getProxyPort());
    }/*from w  w  w  .j  av a2s .c  o m*/
    restTemplate.setRequestFactory(requestFactory);
    return restTemplate;
}