use of org.springframework.http.client.ClientHttpRequest in project spring-boot by spring-projects.
the class RootUriRequestExpectationManagerTests method validateRequestWhenUriDoesNotStartWithRootUriShouldDelegateToExpectationManager.
@Test
public void validateRequestWhenUriDoesNotStartWithRootUriShouldDelegateToExpectationManager() throws Exception {
ClientHttpRequest request = mock(ClientHttpRequest.class);
given(request.getURI()).willReturn(new URI("http://spring.io/test"));
this.manager.validateRequest(request);
verify(this.delegate).validateRequest(request);
}
use of org.springframework.http.client.ClientHttpRequest in project spring-boot by spring-projects.
the class ServletWebServerMvcIntegrationTests method doTest.
private void doTest(AnnotationConfigServletWebServerApplicationContext context, String resourcePath) throws Exception {
SimpleClientHttpRequestFactory clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
ClientHttpRequest request = clientHttpRequestFactory.createRequest(new URI("http://localhost:" + context.getWebServer().getPort() + resourcePath), HttpMethod.GET);
ClientHttpResponse response = request.execute();
try {
String actual = StreamUtils.copyToString(response.getBody(), Charset.forName("UTF-8"));
assertThat(actual).isEqualTo("Hello World");
} finally {
response.close();
}
}
use of org.springframework.http.client.ClientHttpRequest in project spring-boot by spring-projects.
the class ClassPathChangeUploader method performUpload.
private void performUpload(ClassLoaderFiles classLoaderFiles, byte[] bytes) throws IOException {
try {
while (true) {
try {
ClientHttpRequest request = this.requestFactory.createRequest(this.uri, HttpMethod.POST);
HttpHeaders headers = request.getHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentLength(bytes.length);
FileCopyUtils.copy(bytes, request.getBody());
ClientHttpResponse response = request.execute();
Assert.state(response.getStatusCode() == HttpStatus.OK, "Unexpected " + response.getStatusCode() + " response uploading class files");
logUpload(classLoaderFiles);
return;
} catch (ConnectException ex) {
logger.warn("Failed to connect when uploading to " + this.uri + ". Upload will be retried in 2 seconds");
Thread.sleep(2000);
}
}
} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
throw new IllegalStateException(ex);
}
}
use of org.springframework.http.client.ClientHttpRequest in project spring-data-document-examples by spring-projects.
the class RestTemplate method doExecute.
/**
* Execute the given method on the provided URI. The {@link ClientHttpRequest} is processed using the {@link
* RequestCallback}; the response with the {@link ResponseExtractor}.
* @param url the fully-expanded URL to connect to
* @param method the HTTP method to execute (GET, POST, etc.)
* @param requestCallback object that prepares the request (can be <code>null</code>)
* @param responseExtractor object that extracts the return value from the response (can be <code>null</code>)
* @return an arbitrary object, as returned by the {@link ResponseExtractor}
*/
protected <T> T doExecute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor<T> responseExtractor) throws RestClientException {
Assert.notNull(url, "'url' must not be null");
Assert.notNull(method, "'method' must not be null");
ClientHttpResponse response = null;
try {
ClientHttpRequest request = createRequest(url, method);
if (requestCallback != null) {
requestCallback.doWithRequest(request);
}
response = request.execute();
if (!getErrorHandler().hasError(response)) {
logResponseStatus(method, url, response);
} else {
handleResponseError(method, url, response);
}
if (responseExtractor != null) {
return responseExtractor.extractData(response);
} else {
return null;
}
} catch (IOException ex) {
throw new ResourceAccessException("I/O error: " + ex.getMessage(), ex);
} finally {
if (response != null) {
response.close();
}
}
}
use of org.springframework.http.client.ClientHttpRequest in project spring-framework by spring-projects.
the class AbstractRequestExpectationManager method getRequestDetails.
/**
* Return details of executed requests.
*/
protected String getRequestDetails() {
StringBuilder sb = new StringBuilder();
sb.append(getRequests().size()).append(" request(s) executed");
if (!getRequests().isEmpty()) {
sb.append(":\n");
for (ClientHttpRequest request : getRequests()) {
sb.append(request.toString()).append("\n");
}
} else {
sb.append(".\n");
}
return sb.toString();
}
Aggregations