Java Code Examples for org.springframework.http.ResponseEntity#getHeaders()
The following examples show how to use
org.springframework.http.ResponseEntity#getHeaders() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: spring-cloud-zuul-ratelimit File: SpringDataApplicationTestIT.java License: Apache License 2.0 | 6 votes |
@Test public void testExceedingCapacity() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceB", String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceB_127.0.0.1"; assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); for (int i = 0; i < 2; i++) { response = this.restTemplate.getForEntity("/serviceB", String.class); } assertEquals(TOO_MANY_REQUESTS, response.getStatusCode()); assertNotEquals(SpringDataApplication.ServiceController.RESPONSE_BODY, response.getBody()); await().pollDelay(2, TimeUnit.SECONDS).untilAsserted(() -> { final ResponseEntity<String> responseAfterReset = this.restTemplate .getForEntity("/serviceB", String.class); final HttpHeaders headersAfterReset = responseAfterReset.getHeaders(); assertHeaders(headersAfterReset, key, false, false); assertEquals(OK, responseAfterReset.getStatusCode()); }); }
Example 2
Source Project: spring-cloud-zuul-ratelimit File: ConsulApplicationTestIT.java License: Apache License 2.0 | 6 votes |
@Test public void testExceedingCapacity() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceB", String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceB_127.0.0.1"; assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); for (int i = 0; i < 2; i++) { response = this.restTemplate.getForEntity("/serviceB", String.class); } assertEquals(TOO_MANY_REQUESTS, response.getStatusCode()); assertNotEquals(ConsulApplication.ServiceController.RESPONSE_BODY, response.getBody()); await().pollDelay(2, TimeUnit.SECONDS).untilAsserted(() -> { final ResponseEntity<String> responseAfterReset = this.restTemplate .getForEntity("/serviceB", String.class); final HttpHeaders headersAfterReset = responseAfterReset.getHeaders(); assertHeaders(headersAfterReset, key, false, false); assertEquals(OK, responseAfterReset.getStatusCode()); }); }
Example 3
Source Project: spring-cloud-zuul-ratelimit File: RedisApplicationTestIT.java License: Apache License 2.0 | 6 votes |
@Test public void testExceedingCapacity() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceB", String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceB_127.0.0.1"; assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); for (int i = 0; i < 2; i++) { response = this.restTemplate.getForEntity("/serviceB", String.class); } assertEquals(TOO_MANY_REQUESTS, response.getStatusCode()); assertNotEquals(RedisApplication.ServiceController.RESPONSE_BODY, response.getBody()); await().pollDelay(2, TimeUnit.SECONDS).untilAsserted(() -> { final ResponseEntity<String> responseAfterReset = this.restTemplate .getForEntity("/serviceB", String.class); final HttpHeaders headersAfterReset = responseAfterReset.getHeaders(); assertHeaders(headersAfterReset, key, false, false); assertEquals(OK, responseAfterReset.getStatusCode()); }); }
Example 4
Source Project: spring-cloud-zuul-ratelimit File: SpringDataApplicationTestIT.java License: Apache License 2.0 | 6 votes |
@Test public void testMultipleUrls() { String randomPath = UUID.randomUUID().toString(); for (int i = 0; i < 12; i++) { if (i % 2 == 0) { randomPath = UUID.randomUUID().toString(); } ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceD/" + randomPath, String.class); HttpHeaders headers = response.getHeaders(); assertHeaders(headers, "rate-limit-application_serviceD_serviceD_" + randomPath, false, false); assertEquals(OK, response.getStatusCode()); } }
Example 5
Source Project: spring-cloud-zuul-ratelimit File: Bucket4jJCacheApplicationTestIT.java License: Apache License 2.0 | 5 votes |
@Test public void testNoRateLimit() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceC", String.class); HttpHeaders headers = response.getHeaders(); assertHeaders(headers, "rate-limit-application_serviceC", true, false); assertEquals(OK, response.getStatusCode()); }
Example 6
Source Project: spring-cloud-zuul-ratelimit File: SpringDataApplicationTestIT.java License: Apache License 2.0 | 5 votes |
@Test public void testUsingBreakOnMatchSpecificCase() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceF", String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceF_127.0.0.1_127.0.0.1"; assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); response = this.restTemplate.getForEntity("/serviceF", String.class); headers = response.getHeaders(); assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); }
Example 7
Source Project: tutorials File: ResponseHeaderLiveTest.java License: MIT License | 5 votes |
@Test public void whenFilterWithExtraHeaderRequest_thenObtainResponseWithCorrectHeaders() { final String requestUrl = "/extra-header"; ResponseEntity<String> response = template.getForEntity(FILTER_BASE_URL + requestUrl, String.class); HttpHeaders responseHeaders = response.getHeaders(); assertThat(responseHeaders).isNotEmpty(); assertThat(responseHeaders).containsEntry(SERVICE_FILTER_RESPONSE_HEADER, Arrays.asList("Value-Filter")); assertThat(responseHeaders).containsEntry(SERVICE_SINGLE_RESPONSE_HEADER, Arrays.asList("Value-ExtraHeader")); }
Example 8
Source Project: cubeai File: ExceptionTranslator.java License: Apache License 2.0 | 5 votes |
/** * Post-process Problem payload to add the message key for front-end if needed */ @Override public ResponseEntity<Problem> process(@Nullable ResponseEntity<Problem> entity, NativeWebRequest request) { if (entity == null || entity.getBody() == null) { return entity; } Problem problem = entity.getBody(); if (!(problem instanceof ConstraintViolationProblem || problem instanceof DefaultProblem)) { return entity; } ProblemBuilder builder = Problem.builder() .withType(Problem.DEFAULT_TYPE.equals(problem.getType()) ? ErrorConstants.DEFAULT_TYPE : problem.getType()) .withStatus(problem.getStatus()) .withTitle(problem.getTitle()) .with("path", request.getNativeRequest(HttpServletRequest.class).getRequestURI()); if (problem instanceof ConstraintViolationProblem) { builder .with("violations", ((ConstraintViolationProblem) problem).getViolations()) .with("message", ErrorConstants.ERR_VALIDATION); return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); } else { builder .withCause(((DefaultProblem) problem).getCause()) .withDetail(problem.getDetail()) .withInstance(problem.getInstance()); problem.getParameters().forEach(builder::with); if (!problem.getParameters().containsKey("message") && problem.getStatus() != null) { builder.with("message", "error.http." + problem.getStatus().getStatusCode()); } return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); } }
Example 9
Source Project: stevia File: SteviaHttpClient.java License: BSD 3-Clause "New" or "Revised" License | 5 votes |
/** * Posts data to the url given. * * @param url the URL the POST request is sent * @param postData list of input data for the POST requests * @param numberOfTimes the number of POST requests * @param cookies the cookies to set on the request, optional - null is a valid value * @return the a list of HTTP Responses * @throws IOException, InterruptedException */ public List<HttpResponse> post(String url, List<HttpPostData> postData, int numberOfTimes, List<HttpCookie> cookies) throws IOException, InterruptedException{ Assert.hasLength(url, "URL cannot be null"); Assert.notEmpty(postData,"POST request cannot have empty post data"); Assert.isTrue(numberOfTimes > 0, "numberOfTimes cannot be 0"); List<HttpResponse> responses = new ArrayList<HttpResponse>(numberOfTimes); RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); for (HttpCookie cookie : cookies) { headers.add("Cookie", cookie.getKey()+"="+cookie.getValue()); } for (int i = 0; i < numberOfTimes; i++) { HttpEntity<String> entity = new HttpEntity<String>(addParameters(postData), headers); ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class); HttpResponse httpResponse = new HttpResponse(response.getStatusCode(),response.getBody(),response.getHeaders()); responses.add(httpResponse); } return responses; }
Example 10
Source Project: tutorials File: GreetingControllerUnitTest.java License: MIT License | 5 votes |
@Test public void whenRequestExceedingCapacity_thenReturnTooManyRequestsResponse() throws InterruptedException { ResponseEntity<String> response = this.restTemplate.getForEntity(ADVANCED_GREETING, String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceAdvanced_127.0.0.1"; assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); for (int i = 0; i < 2; i++) { response = this.restTemplate.getForEntity(ADVANCED_GREETING, String.class); } headers = response.getHeaders(); String limit = headers.getFirst(HEADER_LIMIT + key); String remaining = headers.getFirst(HEADER_REMAINING + key); String reset = headers.getFirst(HEADER_RESET + key); assertEquals(limit, "1"); assertEquals(remaining, "0"); assertNotEquals(reset, "2000"); assertEquals(TOO_MANY_REQUESTS, response.getStatusCode()); TimeUnit.SECONDS.sleep(2); response = this.restTemplate.getForEntity(ADVANCED_GREETING, String.class); headers = response.getHeaders(); assertHeaders(headers, key, false, false); assertEquals(OK, response.getStatusCode()); }
Example 11
Source Project: tutorials File: ExceptionTranslator.java License: MIT License | 5 votes |
/** * Post-process the Problem payload to add the message key for the front-end if needed */ @Override public ResponseEntity<Problem> process(@Nullable ResponseEntity<Problem> entity, NativeWebRequest request) { if (entity == null) { return entity; } Problem problem = entity.getBody(); if (!(problem instanceof ConstraintViolationProblem || problem instanceof DefaultProblem)) { return entity; } ProblemBuilder builder = Problem.builder() .withType(Problem.DEFAULT_TYPE.equals(problem.getType()) ? ErrorConstants.DEFAULT_TYPE : problem.getType()) .withStatus(problem.getStatus()) .withTitle(problem.getTitle()) .with("path", request.getNativeRequest(HttpServletRequest.class).getRequestURI()); if (problem instanceof ConstraintViolationProblem) { builder .with("violations", ((ConstraintViolationProblem) problem).getViolations()) .with("message", ErrorConstants.ERR_VALIDATION); } else { builder .withCause(((DefaultProblem) problem).getCause()) .withDetail(problem.getDetail()) .withInstance(problem.getInstance()); problem.getParameters().forEach(builder::with); if (!problem.getParameters().containsKey("message") && problem.getStatus() != null) { builder.with("message", "error.http." + problem.getStatus().getStatusCode()); } } return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); }
Example 12
Source Project: spring-cloud-zuul-ratelimit File: RedisApplicationTestIT.java License: Apache License 2.0 | 5 votes |
@Test public void testExceedingQuotaCapacityRequest() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceE", String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceE_127.0.0.1"; assertHeaders(headers, key, false, true); assertEquals(OK, response.getStatusCode()); response = this.restTemplate.getForEntity("/serviceE", String.class); headers = response.getHeaders(); assertHeaders(headers, key, false, true); assertEquals(TOO_MANY_REQUESTS, response.getStatusCode()); }
Example 13
Source Project: cubeai File: ExceptionTranslator.java License: Apache License 2.0 | 5 votes |
/** * Post-process Problem payload to add the message key for front-end if needed */ @Override public ResponseEntity<Problem> process(@Nullable ResponseEntity<Problem> entity, NativeWebRequest request) { if (entity == null || entity.getBody() == null) { return entity; } Problem problem = entity.getBody(); if (!(problem instanceof ConstraintViolationProblem || problem instanceof DefaultProblem)) { return entity; } ProblemBuilder builder = Problem.builder() .withType(Problem.DEFAULT_TYPE.equals(problem.getType()) ? ErrorConstants.DEFAULT_TYPE : problem.getType()) .withStatus(problem.getStatus()) .withTitle(problem.getTitle()) .with("path", request.getNativeRequest(HttpServletRequest.class).getRequestURI()); if (problem instanceof ConstraintViolationProblem) { builder .with("violations", ((ConstraintViolationProblem) problem).getViolations()) .with("message", ErrorConstants.ERR_VALIDATION); return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); } else { builder .withCause(((DefaultProblem) problem).getCause()) .withDetail(problem.getDetail()) .withInstance(problem.getInstance()); problem.getParameters().forEach(builder::with); if (!problem.getParameters().containsKey("message") && problem.getStatus() != null) { builder.with("message", "error.http." + problem.getStatus().getStatusCode()); } return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); } }
Example 14
Source Project: spring-cloud-zuul-ratelimit File: SpringDataApplicationTestIT.java License: Apache License 2.0 | 5 votes |
@Test public void testExceedingQuotaCapacityRequest() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceE", String.class); HttpHeaders headers = response.getHeaders(); String key = "rate-limit-application_serviceE_127.0.0.1"; assertHeaders(headers, key, false, true); assertEquals(OK, response.getStatusCode()); response = this.restTemplate.getForEntity("/serviceE", String.class); headers = response.getHeaders(); assertHeaders(headers, key, false, true); assertEquals(TOO_MANY_REQUESTS, response.getStatusCode()); }
Example 15
Source Project: okta-jhipster-microservices-oauth-example File: ExceptionTranslator.java License: Apache License 2.0 | 5 votes |
/** * Post-process the Problem payload to add the message key for the front-end if needed */ @Override public ResponseEntity<Problem> process(@Nullable ResponseEntity<Problem> entity, NativeWebRequest request) { if (entity == null) { return entity; } Problem problem = entity.getBody(); if (!(problem instanceof ConstraintViolationProblem || problem instanceof DefaultProblem)) { return entity; } ProblemBuilder builder = Problem.builder() .withType(Problem.DEFAULT_TYPE.equals(problem.getType()) ? ErrorConstants.DEFAULT_TYPE : problem.getType()) .withStatus(problem.getStatus()) .withTitle(problem.getTitle()) .with("path", request.getNativeRequest(HttpServletRequest.class).getRequestURI()); if (problem instanceof ConstraintViolationProblem) { builder .with("violations", ((ConstraintViolationProblem) problem).getViolations()) .with("message", ErrorConstants.ERR_VALIDATION); } else { builder .withCause(((DefaultProblem) problem).getCause()) .withDetail(problem.getDetail()) .withInstance(problem.getInstance()); problem.getParameters().forEach(builder::with); if (!problem.getParameters().containsKey("message") && problem.getStatus() != null) { builder.with("message", "error.http." + problem.getStatus().getStatusCode()); } } return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); }
Example 16
Source Project: spring-cloud-zuul-ratelimit File: SpringDataApplicationTestIT.java License: Apache License 2.0 | 5 votes |
@Test public void testNotExceedingCapacityRequest() { ResponseEntity<String> response = this.restTemplate.getForEntity("/serviceA", String.class); HttpHeaders headers = response.getHeaders(); assertHeaders(headers, "rate-limit-application_serviceA_127.0.0.1", false, false); assertEquals(OK, response.getStatusCode()); }
Example 17
Source Project: jhipster-registry File: ExceptionTranslator.java License: Apache License 2.0 | 5 votes |
/** * Post-process the Problem payload to add the message key for the front-end if needed. */ @Override public ResponseEntity<Problem> process(@Nullable ResponseEntity<Problem> entity, NativeWebRequest request) { if (entity == null) { return entity; } Problem problem = entity.getBody(); if (!(problem instanceof ConstraintViolationProblem || problem instanceof DefaultProblem)) { return entity; } ProblemBuilder builder = Problem.builder() .withType(Problem.DEFAULT_TYPE.equals(problem.getType()) ? ErrorConstants.DEFAULT_TYPE : problem.getType()) .withStatus(problem.getStatus()) .withTitle(problem.getTitle()) .with(PATH_KEY, request.getNativeRequest(HttpServletRequest.class).getRequestURI()); if (problem instanceof ConstraintViolationProblem) { builder .with(VIOLATIONS_KEY, ((ConstraintViolationProblem) problem).getViolations()) .with(MESSAGE_KEY, ErrorConstants.ERR_VALIDATION); } else { builder .withCause(((DefaultProblem) problem).getCause()) .withDetail(problem.getDetail()) .withInstance(problem.getInstance()); problem.getParameters().forEach(builder::with); if (!problem.getParameters().containsKey(MESSAGE_KEY) && problem.getStatus() != null) { builder.with(MESSAGE_KEY, "error.http." + problem.getStatus().getStatusCode()); } } return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); }
Example 18
Source Project: e-commerce-microservice File: ExceptionTranslator.java License: Apache License 2.0 | 5 votes |
/** * Post-process the Problem payload to add the message key for the front-end if needed */ @Override public ResponseEntity<Problem> process(@Nullable ResponseEntity<Problem> entity, NativeWebRequest request) { if (entity == null) { return entity; } Problem problem = entity.getBody(); if (!(problem instanceof ConstraintViolationProblem || problem instanceof DefaultProblem)) { return entity; } ProblemBuilder builder = Problem.builder() .withType(Problem.DEFAULT_TYPE.equals(problem.getType()) ? ErrorConstants.DEFAULT_TYPE : problem.getType()) .withStatus(problem.getStatus()) .withTitle(problem.getTitle()) .with("path", request.getNativeRequest(HttpServletRequest.class).getRequestURI()); if (problem instanceof ConstraintViolationProblem) { builder .with("violations", ((ConstraintViolationProblem) problem).getViolations()) .with("message", ErrorConstants.ERR_VALIDATION); } else { builder .withCause(((DefaultProblem) problem).getCause()) .withDetail(problem.getDetail()) .withInstance(problem.getInstance()); problem.getParameters().forEach(builder::with); if (!problem.getParameters().containsKey("message") && problem.getStatus() != null) { builder.with("message", "error.http." + problem.getStatus().getStatusCode()); } } return new ResponseEntity<>(builder.build(), entity.getHeaders(), entity.getStatusCode()); }
Example 19
Source Project: tutorials File: ResponseHeaderLiveTest.java License: MIT License | 5 votes |
@Test public void whenResponseEntityConstructorAndMultipleHeadersRequest_thenObtainResponseWithCorrectHeaders() { final String requestUrl = "/response-entity-contructor-multiple-headers"; ResponseEntity<String> response = template.getForEntity(SINGLE_BASE_URL + requestUrl, String.class); HttpHeaders responseHeaders = response.getHeaders(); assertThat(responseHeaders).isNotEmpty(); assertThat(responseHeaders).containsEntry(SERVICE_SINGLE_RESPONSE_HEADER, Arrays.asList("Value-ResponseEntityConstructorAndHeaders")); assertThat(responseHeaders).containsEntry("Accept", Arrays.asList(MediaType.APPLICATION_JSON.toString())); }
Example 20
Source Project: crnk-framework File: RestTemplateResponse.java License: Apache License 2.0 | 4 votes |
public RestTemplateResponse(ResponseEntity<String> response) { this.body = response.getBody(); this.status = response.getStatusCodeValue(); this.message = response.getStatusCode().getReasonPhrase(); this.headers = response.getHeaders(); }