/////
Search
Duplicate

10. NetworkModule

@Module @InstallIn(SingletonComponent::class) objectNetworkModule { @Provides @Singleton funprovidesHeaderInterceptor(sharedPreferences:SharedPreferences):Interceptor{ returnInterceptor{chain-> valbuilder = chain.request().newBuilder().apply{ valtoken = sharedPreferences.getString("token", "") addHeader("token",requireNotNull(token)) } chain.proceed(builder.build()) } } @Provides @Singleton funprovidesLoggingInterceptor(): HttpLoggingInterceptor { returnHttpLoggingInterceptor().apply{ level = HttpLoggingInterceptor.Level.BASIC } } @Provides funprovidesOkHttpClient( headerInterceptor:Interceptor, loggingInterceptor: HttpLoggingInterceptor, ): OkHttpClient { returnOkHttpClient.Builder() .addInterceptor(headerInterceptor) .addInterceptor(loggingInterceptor) .build() } @Provides @Singleton funprovideRetrofit(okHttpClient: OkHttpClient): Retrofit { returnRetrofit.Builder() .client(okHttpClient) .baseUrl("http://3.39.177.96/") .addConverterFactory(GsonConverterFactory.create()) .build() } @Provides @Singleton funprovideSignInService(retrofit: Retrofit):SignInService{ returnretrofit.create(SignInService::class.java) } @Provides @Singleton funprovideFindPasswordService(retrofit: Retrofit):FindPasswordService{ returnretrofit.create(FindPasswordService::class.java) } }
Kotlin
복사