@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)
    }
}