HttpAgent
super simple library to manage http requests.
Gradle
dependencies {
implementation 'com.studioidan.httpagent:httpagent:1.0.16@aar'
}
Now see how easy it becomes with HttpAgent!
Get Request
HttpAgent.get("www.example.com/api/books")
.goJson(new JsonCallback() {
@Override
protected void onDone(boolean success, JSONObject jsonObject) {
}
});
or you can go jsonArray like so
HttpAgent.get("www.example.com/api/books")
.goJsonArray(new JsonArrayCallback() {
@Override
protected void onDone(boolean success, JSONArray jsonArray) {
}
});
Need to add url parameters? no problem!
HttpAgent.get("www.example.com/api/books")
.queryParams("key_1","value_1","key_2","value_2","key_N","value_N")
.goJsonArray(new JsonArrayCallback() {
@Override
protected void onDone(boolean success, JSONArray jsonArray) {
}
});
Post? Put? Delete? of course...
HttpAgent.post("www.example.com/api/books");
HttpAgent.put("www.example.com/api/books");
HttpAgent.delete("www.example.com/api/books")
Adding body is also simple...
HttpAgent.post("www.example.com/api/books")
.queryParams("key_1","value_1","key_2","value_2","key_N","value_N")
.withBody("{name:popapp ,age:27}")
.goJsonArray(new JsonArrayCallback() {
@Override
protected void onDone(boolean success, JSONArray jsonArray) {
}
});
Or even more simple...
HttpAgent.post("www.example.com/api/books")
.queryParams("key_1","value_1","key_2","value_2","key_N","value_N")
.withBody("key_1","value_1","key_2","value_2","key_N","value_N") // will be converted to json
.goJsonArray(new JsonArrayCallback() {
@Override
protected void onDone(boolean success, JSONArray jsonArray) {
}
});
Don't forget the headers...
HttpAgent.get("http://192.168.88.253/Video/inputs/channels/1")
.headers("Authorization", "Basic YWRtaW46P3V5YFZhNzAw", "Content-Type", "application/json")
.goString(new StringCallback() {
@Override
protected void onDone(boolean success, String stringResults) {
Log.d(TAG, stringResults);
}
});
Any request can be made with one of the following callbacks:
Get a string results
goString(new StringCallback() {
@Override
protected void onDone(boolean success, String results) {
}
})
Get Json results
goJson(new JsonCallback() {
@Override
protected void onDone(boolean success, JSONObject jsonObject) {
}
})
Get JsonArray results
goJsonArray(new JsonArrayCallback() {
@Override
protected void onDone(boolean success, JSONArray jsonArray) {
}
});
Get no results, Just send the request
go(new SuccessCallback() {
@Override
protected void onDone(boolean success) {
}
})
You also have access to those on any callback
HttpAgent.post("www.example.com/api/books")
.queryParams("key_1","value_1","key_2","value_2","key_N","value_N")
.withBody("{name:popapp ,age:27}")
.goJson(new JsonCallback() {
@Override
protected void onDone(boolean success, JSONObject jsonObject) {
getErrorMessage(); //returns error message if exists.
getResponseCode(); // well, it's obvious...
getStringResults(); // returns results as as string.
}
});