33import com .google .gson .FieldNamingPolicy ;
44import com .google .gson .Gson ;
55import com .google .gson .GsonBuilder ;
6+ import org .javawebstack .httpclient .interfaces .BeforeRequest ;
7+ import org .javawebstack .httpclient .interfaces .ResponseTransformer ;
68
79import java .util .HashMap ;
810import java .util .Map ;
@@ -17,6 +19,15 @@ public class HTTPClient {
1719 private int timeout = 5000 ;
1820 private String baseUrl = "" ;
1921 private Map <String , String > defaultHeaders = new HashMap <>();
22+ private ResponseTransformer transformer ;
23+
24+ private BeforeRequest beforeInterceptor ;
25+
26+ public HTTPClient (String baseUrl ) {
27+ this .baseUrl = baseUrl ;
28+ }
29+
30+ public HTTPClient () { }
2031 private Map <String , String > defaultQuery = new HashMap <>();
2132
2233 public HTTPClient gson (Gson gson ){
@@ -80,6 +91,11 @@ public HTTPClient setBaseUrl(String baseUrl) {
8091 return this ;
8192 }
8293
94+ public HTTPClient transformer (ResponseTransformer responseTransformer ){
95+ transformer = responseTransformer ;
96+ return this ;
97+ }
98+
8399 public String getBaseUrl () {
84100 return baseUrl ;
85101 }
@@ -92,6 +108,15 @@ public HTTPRequest get(String path){
92108 return request ("GET" , path );
93109 }
94110
111+ public HTTPClient before (BeforeRequest requestInterceptor ){
112+ beforeInterceptor = requestInterceptor ;
113+ return this ;
114+ }
115+
116+ public BeforeRequest getBeforeInterceptor () {
117+ return beforeInterceptor ;
118+ }
119+
95120 public HTTPRequest post (String path ){
96121 return request ("POST" , path );
97122 }
@@ -112,4 +137,7 @@ public HTTPRequest delete(String path){
112137 return request ("DELETE" , path );
113138 }
114139
140+ public ResponseTransformer getTransformer () {
141+ return transformer ;
142+ }
115143}
0 commit comments