(TK-108) Separate SimpleRequestOptions in request

Separate SimpleRequestOptions in the JavaClient request() method,
rather than in every individual simple API function.
This commit is contained in:
Preben Ingvaldsen 2014-11-11 09:57:27 -08:00
parent c77e449f11
commit ff76e719b3
3 changed files with 26 additions and 58 deletions

View file

@ -14,10 +14,8 @@ import java.net.URISyntaxException;
public class Async {
private static final Logger LOGGER = LoggerFactory.getLogger(Sync.class);
private static Promise<Response> request(RequestOptions requestOptions, ClientOptions clientOptions) {
clientOptions = SslUtils.configureSsl(clientOptions);
return JavaClient.request(requestOptions, clientOptions, null);
private static Promise<Response> request(SimpleRequestOptions requestOptions) {
return JavaClient.request(requestOptions, null);
}
public static AsyncHttpClient createClient(ClientOptions clientOptions) {
@ -33,9 +31,7 @@ public class Async {
return get(new SimpleRequestOptions(uri));
}
public static Promise<Response> get(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.GET), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.GET));
}
public static Promise<Response> head(String url) throws URISyntaxException {
@ -45,9 +41,7 @@ public class Async {
return head(new SimpleRequestOptions(uri));
}
public static Promise<Response> head(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.HEAD), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.HEAD));
}
public static Promise<Response> post(String url) throws URISyntaxException {
@ -57,9 +51,7 @@ public class Async {
return post(new SimpleRequestOptions(uri));
}
public static Promise<Response> post(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.POST), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.POST));
}
public static Promise<Response> put(String url) throws URISyntaxException {
@ -69,9 +61,7 @@ public class Async {
return put(new SimpleRequestOptions(uri));
}
public static Promise<Response> put(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.PUT), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.PUT));
}
public static Promise<Response> delete(String url) throws URISyntaxException {
@ -81,9 +71,7 @@ public class Async {
return delete(new SimpleRequestOptions(uri));
}
public static Promise<Response> delete(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.DELETE), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.DELETE));
}
public static Promise<Response> trace(String url) throws URISyntaxException {
@ -93,9 +81,7 @@ public class Async {
return trace(new SimpleRequestOptions(uri));
}
public static Promise<Response> trace(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.TRACE), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.TRACE));
}
public static Promise<Response> options(String url) throws URISyntaxException {
@ -105,9 +91,7 @@ public class Async {
return options(new SimpleRequestOptions(uri));
}
public static Promise<Response> options(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.OPTIONS), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.OPTIONS));
}
public static Promise<Response> patch(String url) throws URISyntaxException {
@ -117,8 +101,6 @@ public class Async {
return patch(new SimpleRequestOptions(uri));
}
public static Promise<Response> patch(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.PATCH), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.PATCH));
}
}

View file

@ -20,14 +20,14 @@ public class Sync {
throw new HttpClientException(msg, t);
}
private static Response request(RequestOptions requestOptions, ClientOptions clientOptions) {
private static Response request(SimpleRequestOptions requestOptions) {
// TODO: if we end up implementing an async version of the java API,
// we should refactor this implementation so that it is based on the
// async one, as Patrick has done in the clojure API.
clientOptions = SslUtils.configureSsl(clientOptions);
//clientOptions = SslUtils.configureSsl(clientOptions);
Promise<Response> promise = JavaClient.request(requestOptions, clientOptions, null);
Promise<Response> promise = JavaClient.request(requestOptions, null);
Response response = null;
try {
@ -55,9 +55,7 @@ public class Sync {
return get(new SimpleRequestOptions(uri));
}
public static Response get(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.GET), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.GET));
}
public static Response head(String url) throws URISyntaxException {
@ -67,9 +65,7 @@ public class Sync {
return head(new SimpleRequestOptions(uri));
}
public static Response head(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.HEAD), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.HEAD));
}
public static Response post(String url) throws URISyntaxException {
@ -77,9 +73,7 @@ public class Sync {
}
public static Response post(URI uri) { return post(new SimpleRequestOptions(uri)); }
public static Response post(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.POST), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.POST));
}
public static Response put(String url) throws URISyntaxException {
@ -87,9 +81,7 @@ public class Sync {
}
public static Response put(URI uri) { return put(new SimpleRequestOptions(uri)); }
public static Response put(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.PUT), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.PUT));
}
public static Response delete(String url) throws URISyntaxException {
@ -97,9 +89,7 @@ public class Sync {
}
public static Response delete(URI uri) { return delete(new SimpleRequestOptions(uri)); }
public static Response delete(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.DELETE), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.DELETE));
}
public static Response trace(String url) throws URISyntaxException {
@ -107,9 +97,7 @@ public class Sync {
}
public static Response trace(URI uri) { return trace(new SimpleRequestOptions(uri)); }
public static Response trace(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.TRACE), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.TRACE));
}
public static Response options(String url) throws URISyntaxException {
@ -117,9 +105,7 @@ public class Sync {
}
public static Response options(URI uri) { return options(new SimpleRequestOptions(uri)); }
public static Response options(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.OPTIONS), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.OPTIONS));
}
public static Response patch(String url) throws URISyntaxException {
@ -127,8 +113,6 @@ public class Sync {
}
public static Response patch(URI uri) { return patch(new SimpleRequestOptions(uri)); }
public static Response patch(SimpleRequestOptions simpleRequestOptions) {
RequestOptions requestOptions = JavaClient.extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = JavaClient.extractClientOptions(simpleRequestOptions);
return request(requestOptions.setMethod(HttpMethod.PATCH), clientOptions);
return request(simpleRequestOptions.setMethod(HttpMethod.PATCH));
}
}

View file

@ -187,7 +187,9 @@ public class JavaClient {
return context;
}
public static Promise<Response> request(final RequestOptions requestOptions, final ClientOptions clientOptions, final IResponseCallback callback) {
public static Promise<Response> request(final SimpleRequestOptions simpleRequestOptions, final IResponseCallback callback) {
RequestOptions requestOptions = extractRequestOptions(simpleRequestOptions);
ClientOptions clientOptions = SslUtils.configureSsl(extractClientOptions(simpleRequestOptions));
CoercedClientOptions coercedClientOptions = coerceClientOptions(clientOptions);
final CloseableHttpAsyncClient client = createClient(coercedClientOptions);
@ -392,7 +394,7 @@ public class JavaClient {
}
}
public static RequestOptions extractRequestOptions(SimpleRequestOptions simpleOptions) {
private static RequestOptions extractRequestOptions(SimpleRequestOptions simpleOptions) {
HttpAsyncClient client = simpleOptions.getClient();
URI uri = simpleOptions.getUri();
HttpMethod method = simpleOptions.getMethod();
@ -403,7 +405,7 @@ public class JavaClient {
return new RequestOptions(client, uri, method, headers, body, decompressBody, as);
}
public static ClientOptions extractClientOptions(SimpleRequestOptions simpleOptions) {
private static ClientOptions extractClientOptions(SimpleRequestOptions simpleOptions) {
SSLContext sslContext = simpleOptions.getSslContext();
String sslCert = simpleOptions.getSslCert();
String sslKey = simpleOptions.getSslKey();