Skip to content

Commit 97ab73b

Browse files
committed
Added transformer to HTTPClient
1 parent 2b0c9fa commit 97ab73b

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/main/java/org/javawebstack/httpclient/HTTPClient.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.google.gson.Gson;
55
import com.google.gson.GsonBuilder;
66
import org.javawebstack.httpclient.interfaces.BeforeRequest;
7+
import org.javawebstack.httpclient.interfaces.ResponseTransformer;
78

89
import java.util.HashMap;
910
import java.util.Map;
@@ -18,6 +19,7 @@ public class HTTPClient {
1819
private int timeout = 5000;
1920
private String baseUrl = "";
2021
private Map<String, String> defaultHeaders = new HashMap<>();
22+
private ResponseTransformer transformer;
2123

2224
private BeforeRequest beforeInterceptor;
2325

@@ -74,6 +76,11 @@ public HTTPClient setBaseUrl(String baseUrl) {
7476
return this;
7577
}
7678

79+
public HTTPClient transformer(ResponseTransformer responseTransformer){
80+
transformer = responseTransformer;
81+
return this;
82+
}
83+
7784
public String getBaseUrl() {
7885
return baseUrl;
7986
}
@@ -115,4 +122,7 @@ public HTTPRequest delete(String path){
115122
return request("DELETE", path);
116123
}
117124

125+
public ResponseTransformer getTransformer() {
126+
return transformer;
127+
}
118128
}

src/main/java/org/javawebstack/httpclient/HTTPRequest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,13 @@ public <T> T transform(ResponseTransformer responseTransformer, Class<T> type){
120120
return (T) responseTransformer.transform(this);
121121
}
122122

123+
/*
124+
* Requires a transformer in the HttpClient
125+
* */
126+
public <T> T transform(Class<T> type){
127+
return (T) client.getTransformer().transform(this);
128+
}
129+
123130
public HTTPRequest execute(){
124131
HttpURLConnection conn = null;
125132
try{

0 commit comments

Comments
 (0)