Skip to content

Commit 65a3690

Browse files
author
junix
committed
代码重构
1 parent d957c38 commit 65a3690

File tree

2 files changed

+31
-23
lines changed

2 files changed

+31
-23
lines changed

app/src/main/java/com/lxj/androidktxdemo/fragment/HttpExtFragment.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import com.lxj.androidktxdemo.entity.User
1717
import com.lxj.xpopup.XPopup
1818
import com.lxj.xpopup.impl.LoadingPopupView
1919
import kotlinx.android.synthetic.main.fragment_http_ext.*
20+
import okhttp3.Interceptor
21+
import okhttp3.Response
2022
import java.io.File
2123

2224
/**
@@ -40,7 +42,13 @@ class HttpExtFragment : BaseFragment() {
4042
"device" to "6",
4143
"version" to "3.2.0",
4244
"token" to "OrE1GPYXyOb0z_w_s1dpq2rsM4t0DjwK_1538967658"
43-
)
45+
).interceptors(object : Interceptor{
46+
override fun intercept(chain: Interceptor.Chain): Response {
47+
48+
return chain.proceed(chain.request())
49+
}
50+
51+
})
4452
// OkExt.logInterceptor.addExcludeUrl("baidu.com")
4553

4654
// OkWrapper.headers("header1" to "a", "header2" to "b")

library/src/main/java/com/lxj/androidktx/okhttp/OkExt.kt

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.lxj.androidktx.okhttp
22

3-
import com.lxj.androidktx.okhttp.cookie.PersistentCookieStore
43
import com.lxj.androidktx.okhttp.progressmanager.ProgressManager
54
import com.lxj.androidktx.util.HttpsUtils
65
import okhttp3.*
@@ -21,36 +20,35 @@ object OkExt {
2120
val requestCache = hashMapOf<Any, Call>()
2221
val baseUrlMap = hashMapOf<Any, String>() //存储多个baseUrl, key使用tag来存储
2322
val logInterceptor = HttpLogInterceptor()
24-
var okHttpClient: OkHttpClient = ProgressManager.getInstance().with(OkHttpClient.Builder()
25-
.retryOnConnectionFailure(true)
26-
.writeTimeout(httpTimeout, TimeUnit.MILLISECONDS)
27-
.readTimeout(httpTimeout, TimeUnit.MILLISECONDS)
28-
.connectTimeout(httpTimeout, TimeUnit.MILLISECONDS)
29-
.addNetworkInterceptor(logInterceptor)
30-
// .cookieJar(PersistentCookieStore())
31-
.sslSocketFactory(HttpsUtils.getSslSocketFactory().sSLSocketFactory,
32-
HttpsUtils.getSslSocketFactory().trustManager)).build()
23+
var okHttpClient: OkHttpClient = defClientBuilder().build()
3324
var dateFormat: String = "yyyy-MM-dd HH:mm:ss"
3425
var lenientJson: Boolean = false
3526
var globalFailHandler: ((e: Exception?)->Unit)? = null
3627
//是否是成功的响应码
3728
var isSuccessResponse: ((code: Int)-> Boolean)? = null
3829

39-
init {
40-
// okHttpClient = ProgressManager.getInstance().with(okHttpClient.newBuilder()).build()
41-
}
4230

4331
// /**
4432
// * 自定义超时时间
4533
// */
46-
// fun timeout(timeout: Long): OkExt{
47-
// val builder = okHttpClient.newBuilder()
48-
// .writeTimeout(timeout, TimeUnit.MILLISECONDS)
49-
// .readTimeout(timeout, TimeUnit.MILLISECONDS)
50-
// .connectTimeout(timeout, TimeUnit.MILLISECONDS)
51-
// okHttpClient = builder.build()
52-
// return this
53-
// }
34+
fun timeout(timeout: Long): OkExt{
35+
val builder = defClientBuilder()
36+
builder.writeTimeout(timeout, TimeUnit.MILLISECONDS)
37+
.readTimeout(timeout, TimeUnit.MILLISECONDS)
38+
.connectTimeout(timeout, TimeUnit.MILLISECONDS)
39+
okHttpClient = builder.build()
40+
return this
41+
}
42+
43+
fun defClientBuilder() = ProgressManager.getInstance().with(OkHttpClient.Builder()
44+
.retryOnConnectionFailure(true)
45+
.writeTimeout(httpTimeout, TimeUnit.MILLISECONDS)
46+
.readTimeout(httpTimeout, TimeUnit.MILLISECONDS)
47+
.connectTimeout(httpTimeout, TimeUnit.MILLISECONDS)
48+
.addNetworkInterceptor(logInterceptor)
49+
// .cookieJar(PersistentCookieStore())
50+
.sslSocketFactory(HttpsUtils.getSslSocketFactory().sSLSocketFactory,
51+
HttpsUtils.getSslSocketFactory().trustManager))
5452

5553
/**
5654
* 设置全局公共Header
@@ -75,7 +73,9 @@ object OkExt {
7573
* 设置拦截器
7674
*/
7775
fun interceptors(vararg interceptors: Interceptor): OkExt {
78-
okHttpClient.interceptors().addAll(interceptors)
76+
val builder = defClientBuilder()
77+
interceptors.forEach { builder.addInterceptor(it) }
78+
okHttpClient = builder.build()
7979
return this
8080
}
8181

0 commit comments

Comments
 (0)