Example usage for org.springframework.http RequestEntity RequestEntity

List of usage examples for org.springframework.http RequestEntity RequestEntity

Introduction

In this page you can find the example usage for org.springframework.http RequestEntity RequestEntity.

Prototype

public RequestEntity(MultiValueMap<String, String> headers, HttpMethod method, URI url) 

Source Link

Document

Constructor with method, URL and headers but without body.

Usage

From source file:me.j360.boot.standard.test.SessionRedisApplicationTests.java

@Test
public void sessionExpiry() throws Exception {

    String port = null;//ww  w .  ja  va2  s . com

    try {
        ConfigurableApplicationContext context = new SpringApplicationBuilder().sources(J360Configuration.class)
                .properties("server.port:0").initializers(new ServerPortInfoApplicationContextInitializer())
                .run();
        port = context.getEnvironment().getProperty("local.server.port");
    } catch (RuntimeException ex) {
        if (!redisServerRunning(ex)) {
            return;
        }
    }

    URI uri = URI.create("http://localhost:" + port + "/");
    RestTemplate restTemplate = new RestTemplate();

    ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class);
    String uuid1 = response.getBody();
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.set("Cookie", response.getHeaders().getFirst("Set-Cookie"));

    RequestEntity<Void> request = new RequestEntity<Void>(requestHeaders, HttpMethod.GET, uri);

    String uuid2 = restTemplate.exchange(request, String.class).getBody();
    assertThat(uuid1, is(equalTo(uuid2)));

    Thread.sleep(5000);

    String uuid3 = restTemplate.exchange(request, String.class).getBody();
    assertThat(uuid2, is(not(equalTo(uuid3))));
}

From source file:tools.RequestSendingRunnable.java

private RequestEntity<Void> requestWithTraceId() {
    HttpHeaders headers = new HttpHeaders();
    headers.add(Span.TRACE_ID_NAME, Span.idToHex(this.traceId));
    headers.add(Span.SPAN_ID_NAME, Span.idToHex(this.spanId));
    URI uri = URI.create(this.url);
    RequestEntity<Void> requestEntity = new RequestEntity<>(headers, HttpMethod.GET, uri);
    log.info("Request [" + requestEntity + "] is ready");
    return requestEntity;
}

From source file:tools.AbstractIntegrationTest.java

protected ResponseEntity<String> exchangeRequest(URI uri) {
    return this.restTemplate.exchange(new RequestEntity<>(new HttpHeaders(), HttpMethod.GET, uri),
            String.class);
}

From source file:com.insys.cfclient.nozzle.InfluxDBSender.java

@Async
public void sendBatch(List<String> messages) {
    log.debug("ENTER sendBatch");
    httpClient.setErrorHandler(new ResponseErrorHandler() {
        @Override/*from  w ww  .  j ava  2 s.  com*/
        public boolean hasError(ClientHttpResponse clientHttpResponse) throws IOException {
            return clientHttpResponse.getRawStatusCode() > 399;
        }

        @Override
        public void handleError(ClientHttpResponse clientHttpResponse) throws IOException {

        }
    });

    RetryTemplate retryable = new RetryTemplate();
    retryable.setBackOffPolicy(getBackOffPolicy());
    retryable.setRetryPolicy(new SimpleRetryPolicy(properties.getMaxRetries(),
            Collections.singletonMap(ResourceAccessException.class, true)));

    final AtomicInteger counter = new AtomicInteger(0);
    retryable.execute(retryContext -> {
        int count = counter.incrementAndGet();
        log.trace("Attempt {} to deliver this batch", count);
        final StringBuilder builder = new StringBuilder();
        messages.forEach(s -> builder.append(s).append("\n"));

        String body = builder.toString();

        RequestEntity<String> entity = new RequestEntity<>(body, HttpMethod.POST, getUri());

        ResponseEntity<String> response;

        response = httpClient.exchange(entity, String.class);

        if (response.getStatusCode() != HttpStatus.NO_CONTENT) {
            log.error("Failed to write logs to InfluxDB! Expected error code 204, got {}",
                    response.getStatusCodeValue());

            log.trace("Request Body: {}", body);
            log.trace("Response Body: {}", response.getBody());

        } else {
            log.debug("batch sent successfully!");
        }

        log.debug("EXIT sendBatch");

        return null;
    }, recoveryContext -> {
        log.trace("Failed after {} attempts!", counter.get());
        return null;
    });
}

From source file:org.cloudfoundry.identity.uaa.integration.util.IntegrationTestUtils.java

public static UserInfoResponse getUserInfo(String url, String token) throws URISyntaxException {
    RestTemplate rest = new RestTemplate(createRequestFactory(true));
    MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
    headers.add(AUTHORIZATION, "Bearer " + token);
    headers.add(ACCEPT, APPLICATION_JSON_VALUE);
    RequestEntity<Void> request = new RequestEntity<>(headers, HttpMethod.GET, new URI(url + "/userinfo"));
    return rest.exchange(request, UserInfoResponse.class).getBody();
}

From source file:org.cloudfoundry.identity.uaa.integration.util.IntegrationTestUtils.java

public static void deleteZone(String baseUrl, String id, String adminToken) throws URISyntaxException {
    RestTemplate rest = new RestTemplate(createRequestFactory(true));
    MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
    headers.add(AUTHORIZATION, "Bearer " + adminToken);
    headers.add(ACCEPT, APPLICATION_JSON_VALUE);
    RequestEntity<Void> request = new RequestEntity<>(headers, HttpMethod.DELETE,
            new URI(baseUrl + "/identity-zones/" + id));
    rest.exchange(request, Void.class);
}