separate interceptors; added language interceptor for api responses
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
package com.meloda.app.fast.common
|
||||
|
||||
data class ApiLanguage(val value: String)
|
||||
@@ -1,31 +0,0 @@
|
||||
package com.meloda.app.fast.common
|
||||
|
||||
import androidx.core.net.toUri
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
import java.net.URLEncoder
|
||||
|
||||
class AuthInterceptor : Interceptor {
|
||||
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val builder = chain.request().url.newBuilder()
|
||||
|
||||
val uri = builder.build().toUri().toString().toUri()
|
||||
|
||||
if (uri.getQueryParameter("v") == null) {
|
||||
builder.addQueryParameter(
|
||||
name = "v",
|
||||
value = URLEncoder.encode(AppConstants.API_VERSION, "utf-8")
|
||||
)
|
||||
}
|
||||
|
||||
if (UserConfig.accessToken.isNotBlank()) {
|
||||
builder.addQueryParameter(
|
||||
"access_token",
|
||||
URLEncoder.encode(UserConfig.accessToken, "utf-8")
|
||||
)
|
||||
}
|
||||
|
||||
return chain.proceed(chain.request().newBuilder().apply { url(builder.build()) }.build())
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.meloda.app.fast.common.provider
|
||||
|
||||
interface Provider<T> {
|
||||
fun provide(): T?
|
||||
}
|
||||
Reference in New Issue
Block a user