github源碼地址:https://github.com/zhou-you/RxEasyHttp
調(diào)試模式
一個(gè)好的庫(kù)成洗,一定有比較人性化的調(diào)試模式,為了方便開(kāi)發(fā)者查看請(qǐng)求過(guò)程和請(qǐng)求日志藏否,本庫(kù)提供詳細(xì)的日志打印瓶殃,最好在開(kāi)發(fā)階段副签,請(qǐng)打開(kāi)調(diào)試模式輸出優(yōu)雅的Log.
調(diào)試模式的控制在初始化配置時(shí)就可以直接設(shè)置。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
...
EasyHttp.getInstance()
...
// 打開(kāi)該調(diào)試開(kāi)關(guān)并設(shè)置TAG,不需要就不要加入該行
// 最后的true表示是否打印okgo的內(nèi)部異常冠场,一般打開(kāi)方便調(diào)試錯(cuò)誤
.debug("EasyHttp", true);
}
}
Log預(yù)覽說(shuō)明
這里一個(gè)成功請(qǐng)求的例子:
上方的Log打印了一個(gè)Request完整的聲明周期碴裙,一個(gè)請(qǐng)求的Log有以下特點(diǎn):
1.開(kāi)頭和結(jié)尾打了-->http is start和 -->http is Complete分割請(qǐng)求舔株,完整的生命周期的內(nèi)容都會(huì)打印在開(kāi)頭和結(jié)尾的里面载慈。
2.request請(qǐng)求和response響應(yīng)分割珍手,分別是
-------------------------------request-------------------------------
-------------------------------response-------------------------------
3.在---request---之后會(huì)打印請(qǐng)求的url琳要、當(dāng)前請(qǐng)求的類型GET/POST... -->GET/POST開(kāi)頭 -->END GET/POST結(jié)尾。如果是GET晒杈、HEAD請(qǐng)求方式添加的參數(shù)將會(huì)在這里完整的以u(píng)rl?key=value&key=value的形式打印孔厉。
4.在----response----之后會(huì)打犹(在服務(wù)器響應(yīng)后被打悠从唷)匙监,包含響應(yīng)碼小作、響應(yīng)狀態(tài)、響應(yīng)頭达罗、cookie,body等以<--200(響應(yīng)碼)開(kāi)頭粮揉,<--END HTTP結(jié)尾
5.loadCache key=如果設(shè)置了緩存抚笔,會(huì)看到緩存的key,開(kāi)啟了網(wǎng)絡(luò)緩存功能才會(huì)輸出辐宾。
6.loadCache result=從緩存里讀取的結(jié)果蛀柴,開(kāi)啟了網(wǎng)絡(luò)緩存功能才會(huì)輸出鸽疾。
7.save status => true保存緩存的狀態(tài)