Skip to content

Repository files navigation

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(newJsonCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONObjectjsonObject) {
}
});

or you can go jsonArray like so

HttpAgent.get("www.example.com/api/books")
.goJsonArray(newJsonArrayCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONArrayjsonArray) {
}
});

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(newJsonArrayCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONArrayjsonArray) {
}
});

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(newJsonArrayCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONArrayjsonArray) {
}
});

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(newJsonArrayCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONArrayjsonArray) {
}
});

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(newStringCallback() {
@OverrideprotectedvoidonDone(booleansuccess, StringstringResults) {
Log.d(TAG, stringResults);
}
});

Any request can be made with one of the following callbacks:

Get a string results

goString(newStringCallback() {
@OverrideprotectedvoidonDone(booleansuccess, Stringresults) {
}
})

Get Json results

goJson(newJsonCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONObjectjsonObject) {
}
})

Get JsonArray results

goJsonArray(newJsonArrayCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONArrayjsonArray) {
}
});

Get no results, Just send the request

go(newSuccessCallback() {
@OverrideprotectedvoidonDone(booleansuccess) {
}
})

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(newJsonCallback() {
@OverrideprotectedvoidonDone(booleansuccess, JSONObjectjsonObject) {
getErrorMessage(); //returns error message if exists.
getResponseCode(); // well, it's obvious...
getStringResults(); // returns results as as string.
}
});

About

super simple library to manage http requests.

Topics

Resources

Stars

36 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages