Skip to content

Commit 3ac7fe2

Browse files
authored
Merge pull request #1 from mewelling/master
Remove okhttp3 dependency
2 parents 53513e0 + 5663818 commit 3ac7fe2

File tree

2 files changed

+58
-65
lines changed

2 files changed

+58
-65
lines changed

pom.xml

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,31 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.pactsafe</groupId>
7-
<artifactId>${client.library}</artifactId>
7+
88
<packaging>jar</packaging>
99
<name>PactSafe SDK For Java</name>
1010
<description>The PactSafe SDK for Java provides Java APIs that allows developers to easily access their legal system of record through PactSafe's Activity API.</description>
1111

12-
<version>${client.version}</version>
13-
12+
<!-- !important! Remember to update version and id in both locations and keep them in sync -->
13+
<version>1.0.1</version>
14+
<artifactId>pactsafe-java-sdk</artifactId>
1415
<properties>
16+
<client.version>1.0.1</client.version>
1517
<client.library>pactsafe-java-sdk</client.library>
16-
<client.version>1.0.0</client.version>
18+
19+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1720
</properties>
1821

1922
<scm>
20-
<!--<url>https://github.com/aws/aws-sdk-java.git</url>-->
23+
<url>https://github.com/pactsafe/pactsafe-java-sdk.git</url>
2124
</scm>
2225

23-
<!--<licenses>-->
24-
<!--<license>-->
25-
<!--<name>Apache License, Version 2.0</name>-->
26-
<!--<url>https://aws.amazon.com/apache2.0</url>-->
27-
<!--<distribution>repo</distribution>-->
28-
<!--</license>-->
29-
<!--</licenses>-->
30-
3126
<dependencies>
3227
<dependency>
3328
<groupId>com.google.guava</groupId>
3429
<artifactId>guava</artifactId>
3530
<version>19.0</version>
3631
</dependency>
37-
<dependency>
38-
<groupId>com.squareup.okhttp3</groupId>
39-
<artifactId>okhttp</artifactId>
40-
<version>3.4.1</version>
41-
</dependency>
4232
<dependency>
4333
<groupId>org.apache.commons</groupId>
4434
<artifactId>commons-lang3</artifactId>

src/main/java/com/pactsafe/api/activity/components/ActivityAPIClient.java

Lines changed: 50 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,90 +4,93 @@
44
import com.fasterxml.jackson.databind.ObjectMapper;
55
import com.pactsafe.api.activity.domain.ParameterStore;
66
import com.pactsafe.api.activity.domain.Payload;
7-
import okhttp3.*;
87

9-
import java.io.IOException;
8+
import java.io.*;
9+
import java.net.HttpURLConnection;
10+
import java.net.URL;
1011
import java.util.Map;
1112

1213
/**
1314
* created by Michael Welling on 8/22/16.
1415
*/
1516
public class ActivityAPIClient {
1617

17-
private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
18-
private static final MediaType TEXT = MediaType.parse("text/plain; charset=utf-8");
19-
2018
private String baseUrl;
21-
private OkHttpClient client;
2219
private ObjectMapper mapper;
2320

2421
public ActivityAPIClient() {
25-
this.client = new OkHttpClient();
2622
this.mapper = new ObjectMapper();
2723
}
2824

29-
public void send(ParameterStore parameters) throws PactSafeActivityException {
25+
private String request(String path, String postData) throws PactSafeActivityException {
3026
try {
31-
RequestBody body = RequestBody.create(TEXT, new Payload(parameters).toString());
32-
Request request = new Request.Builder()
33-
.url(baseUrl + "/send")
34-
.post(body)
35-
.build();
36-
Response response = client.newCall(request).execute();
37-
if (response.code() >= 400) {
38-
throw new PactSafeActivityException("send", response.code(), response.message());
27+
byte[] postDataBytes = postData.getBytes("UTF-8");
28+
int postDataLength = postDataBytes.length;
29+
String request = baseUrl + path;
30+
URL url = new URL(request);
31+
32+
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
33+
conn.setDoOutput(true);
34+
conn.setInstanceFollowRedirects(true);
35+
conn.setRequestMethod("POST");
36+
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
37+
conn.setRequestProperty("charset", "utf-8");
38+
conn.setRequestProperty("Content-Length", Integer.toString(postDataLength));
39+
conn.setDoOutput(true);
40+
conn.setUseCaches(false);
41+
conn.getOutputStream().write(postDataBytes);
42+
43+
if (conn.getResponseCode() >= 400) {
44+
throw new PactSafeActivityException(path, conn.getResponseCode(), conn.getResponseMessage());
3945
}
46+
47+
Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
48+
49+
StringBuilder sb = new StringBuilder();
50+
for (int c; (c = in.read()) >= 0;)
51+
sb.append((char)c);
52+
53+
return sb.toString();
54+
4055
} catch (IOException e) {
41-
throw new PactSafeActivityException("Could not complete send action.", e);
56+
throw new PactSafeActivityException("Could not complete action for " + path, e);
4257
}
4358
}
4459

60+
public void send(ParameterStore parameters) throws PactSafeActivityException {
61+
String postData = new Payload(parameters).toString();
62+
String path = "/send";
63+
this.request(path, postData);
64+
}
65+
4566
public Map<Integer, String> retrieve(ParameterStore parameters) throws PactSafeActivityException {
4667
try {
47-
RequestBody body = RequestBody.create(TEXT, new Payload(parameters).toString());
48-
Request request = new Request.Builder()
49-
.url(baseUrl + "/retrieve")
50-
.post(body)
51-
.build();
52-
Response response = client.newCall(request).execute();
53-
if (response.code() >= 400) {
54-
throw new PactSafeActivityException("retrieve", response.code(), response.message());
55-
}
56-
return mapper.readValue(response.body().string(), new TypeReference<Map<Integer, String>>(){});
68+
String postData = new Payload(parameters).toString();
69+
String path = "/retrieve";
70+
String response = this.request(path, postData);
71+
return mapper.readValue(response, new TypeReference<Map<Integer, String>>(){});
5772
} catch (IOException e) {
5873
throw new PactSafeActivityException("Could not complete retrieve action.", e);
5974
}
6075
}
6176

6277
public Map<Integer, Boolean> latest(ParameterStore parameters) throws PactSafeActivityException {
6378
try {
64-
RequestBody body = RequestBody.create(TEXT, new Payload(parameters).toString());
65-
Request request = new Request.Builder()
66-
.url(baseUrl + "/latest")
67-
.post(body)
68-
.build();
69-
Response response = client.newCall(request).execute();
70-
if (response.code() >= 400) {
71-
throw new PactSafeActivityException("latest", response.code(), response.message());
72-
}
73-
return mapper.readValue(response.body().string(), new TypeReference<Map<Integer, Boolean>>(){});
79+
String postData = new Payload(parameters).toString();
80+
String path = "/latest";
81+
String response = this.request(path, postData);
82+
return mapper.readValue(response, new TypeReference<Map<Integer, Boolean>>(){});
7483
} catch (IOException e) {
7584
throw new PactSafeActivityException("Could not complete latest action.", e);
7685
}
7786
}
7887

7988
public ParameterStore load(ParameterStore parameters) throws PactSafeActivityException {
8089
try {
81-
RequestBody body = RequestBody.create(TEXT, new Payload(parameters).toString());
82-
Request request = new Request.Builder()
83-
.url(baseUrl + "/load/json")
84-
.post(body)
85-
.build();
86-
Response response = client.newCall(request).execute();
87-
if (response.code() >= 400) {
88-
throw new PactSafeActivityException("load", response.code(), response.message());
89-
}
90-
return mapper.readValue(response.body().string(), ParameterStore.class);
90+
String postData = new Payload(parameters).toString();
91+
String path = "/load/json";
92+
String response = this.request(path, postData);
93+
return mapper.readValue(response, ParameterStore.class);
9194
} catch (IOException e) {
9295
throw new PactSafeActivityException("Could not complete load action.", e);
9396
}

0 commit comments

Comments
 (0)