diff --git a/ayannetworking/build.gradle b/ayannetworking/build.gradle index 0bc815c..13f2c18 100644 --- a/ayannetworking/build.gradle +++ b/ayannetworking/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 16 targetSdkVersion 30 versionCode 1 - versionName "1.4.2" + versionName "1.5.0" } buildTypes { diff --git a/ayannetworking/src/main/java/ir/ayantech/ayannetworking/api/AyanApi.kt b/ayannetworking/src/main/java/ir/ayantech/ayannetworking/api/AyanApi.kt index 407b47d..f47349d 100644 --- a/ayannetworking/src/main/java/ir/ayantech/ayannetworking/api/AyanApi.kt +++ b/ayannetworking/src/main/java/ir/ayantech/ayannetworking/api/AyanApi.kt @@ -33,6 +33,7 @@ class AyanApi( var headers: HashMap = HashMap(), val stringParameters: Boolean = false, val forceEndPoint: String? = null, + val setNoProxy: Boolean = true, val hostName: String? = null, val logItems: List? = null, val feed: Array? = null, @@ -82,6 +83,7 @@ class AyanApi( fun aaa( defaultBaseUrl: String, timeout: Long, + setNoProxy: Boolean, hostName: String? = null, logItems: List? = null, feed: Array?, @@ -91,6 +93,7 @@ class AyanApi( userAgent, defaultBaseUrl, timeout, + setNoProxy, hostName, logItems, feed, @@ -196,7 +199,7 @@ class AyanApi( } } catch (e: Exception) { } - aaa(defaultBaseUrl, timeout, hostName, logItems, feed, gson).callApi( + aaa(defaultBaseUrl, timeout, setNoProxy, hostName, logItems, feed, gson).callApi( finalUrl, request, headers @@ -209,7 +212,7 @@ class AyanApi( try { wrappedPackage.reCallApi = { ayanCallStatus.dispatchLoad() - aaa(defaultBaseUrl, timeout, hostName, logItems, feed, gson).callApi( + aaa(defaultBaseUrl, timeout, setNoProxy, hostName, logItems, feed, gson).callApi( wrappedPackage.url, wrappedPackage.request, headers @@ -337,7 +340,7 @@ class AyanApi( override fun onFailure(call: Call, t: Throwable) { wrappedPackage.reCallApi = { ayanCallStatus.dispatchLoad() - aaa(defaultBaseUrl, timeout, hostName, logItems, feed, gson).callApi( + aaa(defaultBaseUrl, timeout, setNoProxy, hostName, logItems, feed, gson).callApi( wrappedPackage.url, wrappedPackage.request, headers diff --git a/ayannetworking/src/main/java/ir/ayantech/ayannetworking/networking/RetrofitClient.kt b/ayannetworking/src/main/java/ir/ayantech/ayannetworking/networking/RetrofitClient.kt index e1cbd42..0f64493 100644 --- a/ayannetworking/src/main/java/ir/ayantech/ayannetworking/networking/RetrofitClient.kt +++ b/ayannetworking/src/main/java/ir/ayantech/ayannetworking/networking/RetrofitClient.kt @@ -23,6 +23,7 @@ object RetrofitClient { userAgent: String, defaultBaseUrl: String, timeout: Long = 20, + setNoProxy: Boolean, hostName: String? = null, logItems: List? = null, feed: Array? = null, @@ -35,13 +36,14 @@ object RetrofitClient { else GsonConverterFactory.create(gson) ) .baseUrl(defaultBaseUrl) - .client(getOkHttpInstance(userAgent, timeout, hostName, logItems, feed)) + .client(getOkHttpInstance(userAgent, timeout, setNoProxy, hostName, logItems, feed)) .build() .also { retrofit = it } private fun getOkHttpInstance( userAgent: String, timeout: Long, + setNoProxy: Boolean, hostName: String? = null, logItems: List? = null, feed: Array? = null @@ -51,7 +53,8 @@ object RetrofitClient { okHttpClientBuilder.connectTimeout(timeout, TimeUnit.SECONDS) okHttpClientBuilder.readTimeout(timeout, TimeUnit.SECONDS) okHttpClientBuilder.writeTimeout(timeout, TimeUnit.SECONDS) - okHttpClientBuilder.proxy(Proxy.NO_PROXY) + if (setNoProxy) + okHttpClientBuilder.proxy(Proxy.NO_PROXY) okHttpClientBuilder.protocols(arrayListOf(Protocol.HTTP_2, Protocol.HTTP_1_1)) okHttpClientBuilder.addInterceptor { val userAgentRequest = it.request()