package org.transgalactica.fwk.test.clienthttp; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.URI; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.client.ClientHttpRequest; import org.springframework.http.client.ClientHttpResponse; /** * Implementation bouchon de ClientHttpRequest permettant de fournir des flux de * données a partir de ressources Spring. * * @see ResourceBoundClientHttpResponse * @see ResourceBoundClientHttpRequestFactory * * @author Thierry */ class ResourceBoundClientHttpRequest implements ClientHttpRequest { private HttpHeaders headers = new HttpHeaders(); private HttpMethod method; private URI uri; private OutputStream body = new ByteArrayOutputStream(); private ClientHttpResponse response; protected ResourceBoundClientHttpRequest() { } protected ResourceBoundClientHttpRequest(URI uri, HttpMethod method, ClientHttpResponse response) { this.uri = uri; this.method = method; this.response = response; } @Override public ClientHttpResponse execute() throws IOException { return response; } @Override public HttpMethod getMethod() { return method; } @Override public URI getURI() { return uri; } @Override public OutputStream getBody() throws IOException { return body; } @Override public HttpHeaders getHeaders() { return headers; } /* * Accesseurs */ public URI getUri() { return uri; } public void setUri(URI uri) { this.uri = uri; } public ClientHttpResponse getResponse() { return response; } public void setResponse(ClientHttpResponse response) { this.response = response; } public void setMethod(HttpMethod method) { this.method = method; } public void setHeaders(HttpHeaders headers) { this.headers = headers; } }