@@ -17,11 +17,13 @@ public class Client {
1717
1818 private String uri ;
1919 private Map <String , String > headers ;
20+ private Map <String , String > globalVariables ;
2021 private static Gson gson = new GsonBuilder ().create ();
2122
2223 public Client (String uri ) {
2324 this .uri = uri ;
2425 this .headers = new HashMap <>();
26+ this .globalVariables = new HashMap <>();
2527 }
2628
2729
@@ -39,6 +41,7 @@ private JsonObject makeQueryJson(Query query) {
3941 public <T > T first (Query query , String name , Class <T > type ) {
4042
4143 try {
44+ query .getVariables ().putAll (globalVariables );
4245 JsonObject request = makeQueryJson (query );
4346 JsonObject result = gson .fromJson (HttpUtil .post (this .uri , request .toString (), headers ), JsonObject .class );
4447 return gson .fromJson (result .get ("data" ).getAsJsonObject ().get (name ), type );
@@ -50,13 +53,12 @@ public <T> T first(Query query, String name, Class<T> type) {
5053 }
5154
5255 public <T > List <T > query (Query query , String name ) {
53-
5456 try {
57+ query .getVariables ().putAll (globalVariables );
5558 JsonObject request = makeQueryJson (query );
5659 JsonObject result = gson .fromJson (HttpUtil .post (this .uri , request .toString (), headers ), JsonObject .class );
5760 JsonArray array = result .get ("data" ).getAsJsonObject ().get (name ).getAsJsonArray ();
58- return gson .fromJson (array , new TypeToken <T >() {
59- }.getType ());
61+ return gson .fromJson (array , new TypeToken <T >() {}.getType ());
6062 } catch (Exception e ) {
6163 e .printStackTrace ();
6264 }
@@ -76,5 +78,14 @@ public String getHeader(String name) {
7678 public void setHeader (String name , String value ) {
7779 this .headers .put (name , value );
7880 }
81+ public void setGlobalVariable (String name , String value ) {
82+ this .globalVariables .put (name , value );
83+ }
7984
85+ public void removeHeader (String name ) {
86+ this .headers .remove (name );
87+ }
88+ public void removeGlobalVariable (String name ) {
89+ this .globalVariables .remove (name );
90+ }
8091}
0 commit comments