Nuke Olaf - Log Store

[Android] 안드로이드 - okHttp Header 인터셉터에 조건 추가하기 본문

Android

[Android] 안드로이드 - okHttp Header 인터셉터에 조건 추가하기

NukeOlaf 2020. 4. 14. 23:14

API 기능이 25개 가량 있는데, 3개의 요청을 제외하고는 전부 header 에 Authorization 이 들어간다.
3개의 함수를 제외한 나머지 요청에만 header 인터셉터를 추가해주는 코드

만약 encodePath 에 /users/check, /users/join, /users/login 이 들어가면 header 를 안붙여준다

별거 아닌 코드인데 찾느라 개고생했다.

val okHttpClient = OkHttpClient.Builder()
    .addInterceptor { chain: Interceptor.Chain ->
        val original = chain.request()
        if (original.url.encodedPath.equals("/users/check", true)
            || original.url.encodedPath.equals("/users/join", true)
            || original.url.encodedPath.equals("/users/login", true)
        ) {
            chain.proceed(original)
        } else {
            chain.proceed(original.newBuilder().apply {
                addHeader("Authorization", "")
            }.build())
        }
    }.build()
Comments