Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Diff
Créé
il y a 6 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
69 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
205 lignes
Copier tout
84 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
230 lignes
Copier tout
package com.pubnub.api.managers;
package com.pubnub.api.managers;
Copier
Copié
Copier
Copié
import com.pubnub.api.PNConfiguration;
import com.pubnub.api.PNConfiguration;
import com.pubnub.api.PubNub;
import com.pubnub.api.PubNub;
import com.pubnub.api.endpoints.vendor.AppEngineFactory;
import com.pubnub.api.endpoints.vendor.AppEngineFactory;
import com.pubnub.api.enums.PNLogVerbosity;
import com.pubnub.api.enums.PNLogVerbosity;
import com.pubnub.api.interceptors.SignatureInterceptor;
import com.pubnub.api.interceptors.SignatureInterceptor;
import com.pubnub.api.services.AccessManagerService;
import com.pubnub.api.services.AccessManagerService;
import com.pubnub.api.services.ChannelGroupService;
import com.pubnub.api.services.ChannelGroupService;
import com.pubnub.api.services.HistoryService;
import com.pubnub.api.services.HistoryService;
import com.pubnub.api.services.MemberService;
import com.pubnub.api.services.MemberService;
import com.pubnub.api.services.MembershipService;
import com.pubnub.api.services.MembershipService;
import com.pubnub.api.services.MessageActionService;
import com.pubnub.api.services.MessageActionService;
import com.pubnub.api.services.PresenceService;
import com.pubnub.api.services.PresenceService;
import com.pubnub.api.services.PublishService;
import com.pubnub.api.services.PublishService;
import com.pubnub.api.services.PushService;
import com.pubnub.api.services.PushService;
import com.pubnub.api.services.SignalService;
import com.pubnub.api.services.SignalService;
import com.pubnub.api.services.SpaceService;
import com.pubnub.api.services.SpaceService;
import com.pubnub.api.services.SubscribeService;
import com.pubnub.api.services.SubscribeService;
import com.pubnub.api.services.TimeService;
import com.pubnub.api.services.TimeService;
import com.pubnub.api.services.UserService;
import com.pubnub.api.services.UserService;
Copier
Copié
Copier
Copié
import lombok.Getter;
import okhttp3.OkHttpClient;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.Retrofit;
Copier
Copié
Copier
Copié
import java.util.Collections;
import java.util.Collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeUnit;
public class RetrofitManager {
public class RetrofitManager {
Copier
Copié
Copier
Copié
private PubNub pubnub;
private PubNub pubnub;
Copier
Copié
Copier
Copié
private SignatureInterceptor signatureInterceptor;
private SignatureInterceptor signatureInterceptor;
Copier
Copié
Copier
Copié
private OkHttpClient transactionClientInstance;
private OkHttpClient transactionClientInstance;
private OkHttpClient subscriptionClientInstance;
private OkHttpClient subscriptionClientInstance;
Copier
Copié
Copier
Copié
// services
// services
Copier
Copié
Copier
Copié
@Getter
private PresenceService presenceService;
private PresenceService presenceService;
Copier
Copié
Copier
Copié
@Getter
private HistoryService historyService;
private HistoryService historyService;
Copier
Copié
Copier
Copié
@Getter
private PushService pushService;
private PushService pushService;
Copier
Copié
Copier
Copié
@Getter
private AccessManagerService accessManagerService;
private AccessManagerService accessManagerService;
Copier
Copié
Copier
Copié
@Getter
private ChannelGroupService channelGroupService;
private ChannelGroupService channelGroupService;
Copier
Copié
Copier
Copié
@Getter
private TimeService timeService;
private TimeService timeService;
Copier
Copié
Copier
Copié
@Getter
private PublishService publishService;
private PublishService publishService;
Copier
Copié
Copier
Copié
@Getter
private SubscribeService subscribeService;
private SubscribeService subscribeService;
Copier
Copié
Copier
Copié
@Getter
private SignalService signalService;
private SignalService signalService;
Copier
Copié
Copier
Copié
@Getter
private UserService userService;
private UserService userService;
Copier
Copié
Copier
Copié
@Getter
private SpaceService spaceService;
private SpaceService spaceService;
Copier
Copié
Copier
Copié
@Getter
private MembershipService membershipService;
private MembershipService membershipService;
Copier
Copié
Copier
Copié
@Getter
private MemberService memberService;
private MemberService memberService;
Copier
Copié
Copier
Copié
@Getter
private MessageActionService messageActionService;
private MessageActionService messageActionService;
Copier
Copié
Copier
Copié
@Getter
private Retrofit transactionInstance;
private Retrofit transactionInstance;
Copier
Copié
Copier
Copié
@Getter
private Retrofit subscriptionInstance;
private Retrofit subscriptionInstance;
public RetrofitManager(PubNub pubNubInstance) {
public RetrofitManager(PubNub pubNubInstance) {
this.pubnub = pubNubInstance;
this.pubnub = pubNubInstance;
Copier
Copié
Copier
Copié
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
Copier
Copié
Copier
Copié
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
Copier
Copié
Copier
Copié
this.transactionClientInstance = createOkHttpClient(
this.transactionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(),
this.subscriptionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getSubscribeTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
this.pubnub.getConfiguration().getConnectTimeout()
);
this.subscriptionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getSubscribeTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
}
}
Copier
Copié
Copier
Copié
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
Copier
Copié
Copier
Copié
this.presenceService = transactionInstance.create(PresenceService.class);
this.presenceService = transactionInstance.create(PresenceService.class);
this.historyService = transactionInstance.create(HistoryService.class);
this.historyService = transactionInstance.create(HistoryService.class);
this.pushService = transactionInstance.create(PushService.class);
this.pushService = transactionInstance.create(PushService.class);
this.accessManagerService = transactionInstance.create(AccessManagerService.class);
this.accessManagerService = transactionInstance.create(AccessManagerService.class);
this.channelGroupService = transactionInstance.create(ChannelGroupService.class);
this.channelGroupService = transactionInstance.create(ChannelGroupService.class);
this.publishService = transactionInstance.create(PublishService.class);
this.publishService = transactionInstance.create(PublishService.class);
this.subscribeService = subscriptionInstance.create(SubscribeService.class);
this.subscribeService = subscriptionInstance.create(SubscribeService.class);
this.timeService = transactionInstance.create(TimeService.class);
this.timeService = transactionInstance.create(TimeService.class);
this.signalService = transactionInstance.create(SignalService.class);
this.signalService = transactionInstance.create(SignalService.class);
this.userService = transactionInstance.create(UserService.class);
this.userService = transactionInstance.create(UserService.class);
this.spaceService = transactionInstance.create(SpaceService.class);
this.spaceService = transactionInstance.create(SpaceService.class);
this.membershipService = transactionInstance.create(MembershipService.class);
this.membershipService = transactionInstance.create(MembershipService.class);
this.memberService = transactionInstance.create(MemberService.class);
this.memberService = transactionInstance.create(MemberService.class);
this.messageActionService = transactionInstance.create(MessageActionService.class);
this.messageActionService = transactionInstance.create(MessageActionService.class);
}
}
private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) {
private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) {
PNConfiguration pnConfiguration = pubnub.getConfiguration();
PNConfiguration pnConfiguration = pubnub.getConfiguration();
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
Copier
Copié
Copier
Copié
httpClient.retryOnConnectionFailure(
false
);
httpClient.retryOnConnectionFailure(
true
);
httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS);
httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS);
httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS);
httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS);
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) {
if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient.addInterceptor(logging);
httpClient.addInterceptor(logging);
}
}
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
}
}
Copier
Copié
Copier
Copié
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
Copier
Copié
Copier
Copié
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
pnConfiguration.getX509ExtendedTrustManager());
pnConfiguration.getX509ExtendedTrustManager());
}
}
Copier
Copié
Copier
Copié
if (pnConfiguration.getConnectionSpec() != null) {
if (pnConfiguration.getConnectionSpec() != null) {
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
}
}
Copier
Copié
Copier
Copié
if (pnConfiguration.getHostnameVerifier() != null) {
if (pnConfiguration.getHostnameVerifier() != null) {
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
}
}
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getProxy() != null) {
if (pubnub.getConfiguration().getProxy() != null) {
httpClient.proxy(pubnub.getConfiguration().getProxy());
httpClient.proxy(pubnub.getConfiguration().getProxy());
}
}
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getProxySelector() != null) {
if (pubnub.getConfiguration().getProxySelector() != null) {
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
}
}
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
}
}
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getCertificatePinner() != null) {
if (pubnub.getConfiguration().getCertificatePinner() != null) {
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
}
}
Copier
Copié
Copier
Copié
httpClient.addInterceptor(this.signatureInterceptor);
httpClient.addInterceptor(this.signatureInterceptor);
Copier
Copié
Copier
Copié
OkHttpClient constructedClient = httpClient.build();
OkHttpClient constructedClient = httpClient.build();
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().getMaximumConnections() != null) {
if (pubnub.getConfiguration().getMaximumConnections() != null) {
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
}
}
Copier
Copié
Copier
Copié
return constructedClient;
return constructedClient;
}
}
private Retrofit createRetrofit(OkHttpClient client) {
private Retrofit createRetrofit(OkHttpClient client) {
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
Copier
Copié
Copier
Copié
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
}
}
Copier
Copié
Copier
Copié
retrofitBuilder = retrofitBuilder
.baseUrl(pubnub.getBaseUrl())
.addConverterFactory(this.pubnub.getMapper().getConverterFactory());
retrofitBuilder = retrofitBuilder
.baseUrl(pubnub.getBaseUrl())
.addConverterFactory(this.pubnub.getMapper().getConverterFactory());
if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder = retrofitBuilder.client(client);
retrofitBuilder = retrofitBuilder.client(client);
}
}
Copier
Copié
Copier
Copié
return retrofitBuilder.build();
return retrofitBuilder.build();
}
}
Copier
Copié
Copier
Copié
public void destroy(boolean force) {
public void destroy(boolean force) {
if (this.transactionClientInstance != null) {
if (this.transactionClientInstance != null) {
closeExecutor(this.transactionClientInstance, force);
closeExecutor(this.transactionClientInstance, force);
}
}
if (this.subscriptionClientInstance != null) {
if (this.subscriptionClientInstance != null) {
closeExecutor(this.subscriptionClientInstance, force);
closeExecutor(this.subscriptionClientInstance, force);
}
}
}
}
private void closeExecutor(OkHttpClient client, boolean force) {
private void closeExecutor(OkHttpClient client, boolean force) {
client.dispatcher().cancelAll();
client.dispatcher().cancelAll();
if (force) {
if (force) {
client.connectionPool().evictAll();
client.connectionPool().evictAll();
ExecutorService executorService = client.dispatcher().executorService();
ExecutorService executorService = client.dispatcher().executorService();
executorService.shutdown();
executorService.shutdown();
}
}
}
}
Copier
Copié
Copier
Copié
@java.lang.SuppressWarnings("all")
public PresenceService getPresenceService() {
return this.presenceService;
}
@java.lang.SuppressWarnings("all")
public HistoryService getHistoryService() {
return this.historyService;
}
@java.lang.SuppressWarnings("all")
public PushService getPushService() {
return this.pushService;
}
@java.lang.SuppressWarnings("all")
public AccessManagerService getAccessManagerService() {
return this.accessManagerService;
}
@java.lang.SuppressWarnings("all")
public ChannelGroupService getChannelGroupService() {
return this.channelGroupService;
}
@java.lang.SuppressWarnings("all")
public TimeService getTimeService() {
return this.timeService;
}
@java.lang.SuppressWarnings("all")
public PublishService getPublishService() {
return this.publishService;
}
@java.lang.SuppressWarnings("all")
public SubscribeService getSubscribeService() {
return this.subscribeService;
}
@java.lang.SuppressWarnings("all")
public SignalService getSignalService() {
return this.signalService;
}
@java.lang.SuppressWarnings("all")
public UserService getUserService() {
return this.userService;
}
@java.lang.SuppressWarnings("all")
public SpaceService getSpaceService() {
return this.spaceService;
}
@java.lang.SuppressWarnings("all")
public MembershipService getMembershipService() {
return this.membershipService;
}
@java.lang.SuppressWarnings("all")
public MemberService getMemberService() {
return this.memberService;
}
@java.lang.SuppressWarnings("all")
public MessageActionService getMessageActionService() {
return this.messageActionService;
}
@java.lang.SuppressWarnings("all")
public Retrofit getTransactionInstance() {
return this.transactionInstance;
}
@java.lang.SuppressWarnings("all")
public Retrofit getSubscriptionInstance() {
return this.subscriptionInstance;
}
}
}
Copier
Copié
Copier
Copié
Différences enregistrées
Texte d'origine
Ouvrir un fichier
package com.pubnub.api.managers; import com.pubnub.api.PNConfiguration; import com.pubnub.api.PubNub; import com.pubnub.api.endpoints.vendor.AppEngineFactory; import com.pubnub.api.enums.PNLogVerbosity; import com.pubnub.api.interceptors.SignatureInterceptor; import com.pubnub.api.services.AccessManagerService; import com.pubnub.api.services.ChannelGroupService; import com.pubnub.api.services.HistoryService; import com.pubnub.api.services.MemberService; import com.pubnub.api.services.MembershipService; import com.pubnub.api.services.MessageActionService; import com.pubnub.api.services.PresenceService; import com.pubnub.api.services.PublishService; import com.pubnub.api.services.PushService; import com.pubnub.api.services.SignalService; import com.pubnub.api.services.SpaceService; import com.pubnub.api.services.SubscribeService; import com.pubnub.api.services.TimeService; import com.pubnub.api.services.UserService; import lombok.Getter; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import java.util.Collections; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class RetrofitManager { private PubNub pubnub; private SignatureInterceptor signatureInterceptor; private OkHttpClient transactionClientInstance; private OkHttpClient subscriptionClientInstance; // services @Getter private PresenceService presenceService; @Getter private HistoryService historyService; @Getter private PushService pushService; @Getter private AccessManagerService accessManagerService; @Getter private ChannelGroupService channelGroupService; @Getter private TimeService timeService; @Getter private PublishService publishService; @Getter private SubscribeService subscribeService; @Getter private SignalService signalService; @Getter private UserService userService; @Getter private SpaceService spaceService; @Getter private MembershipService membershipService; @Getter private MemberService memberService; @Getter private MessageActionService messageActionService; @Getter private Retrofit transactionInstance; @Getter private Retrofit subscriptionInstance; public RetrofitManager(PubNub pubNubInstance) { this.pubnub = pubNubInstance; this.signatureInterceptor = new SignatureInterceptor(pubNubInstance); if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) { this.transactionClientInstance = createOkHttpClient( this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(), this.pubnub.getConfiguration().getConnectTimeout() ); this.subscriptionClientInstance = createOkHttpClient( this.pubnub.getConfiguration().getSubscribeTimeout(), this.pubnub.getConfiguration().getConnectTimeout() ); } this.transactionInstance = createRetrofit(this.transactionClientInstance); this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance); this.presenceService = transactionInstance.create(PresenceService.class); this.historyService = transactionInstance.create(HistoryService.class); this.pushService = transactionInstance.create(PushService.class); this.accessManagerService = transactionInstance.create(AccessManagerService.class); this.channelGroupService = transactionInstance.create(ChannelGroupService.class); this.publishService = transactionInstance.create(PublishService.class); this.subscribeService = subscriptionInstance.create(SubscribeService.class); this.timeService = transactionInstance.create(TimeService.class); this.signalService = transactionInstance.create(SignalService.class); this.userService = transactionInstance.create(UserService.class); this.spaceService = transactionInstance.create(SpaceService.class); this.membershipService = transactionInstance.create(MembershipService.class); this.memberService = transactionInstance.create(MemberService.class); this.messageActionService = transactionInstance.create(MessageActionService.class); } private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) { PNConfiguration pnConfiguration = pubnub.getConfiguration(); OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.retryOnConnectionFailure(false); httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS); httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS); if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging); } if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) { httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor()); } if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) { httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(), pnConfiguration.getX509ExtendedTrustManager()); } if (pnConfiguration.getConnectionSpec() != null) { httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec())); } if (pnConfiguration.getHostnameVerifier() != null) { httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier()); } if (pubnub.getConfiguration().getProxy() != null) { httpClient.proxy(pubnub.getConfiguration().getProxy()); } if (pubnub.getConfiguration().getProxySelector() != null) { httpClient.proxySelector(pubnub.getConfiguration().getProxySelector()); } if (pubnub.getConfiguration().getProxyAuthenticator() != null) { httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator()); } if (pubnub.getConfiguration().getCertificatePinner() != null) { httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner()); } httpClient.addInterceptor(this.signatureInterceptor); OkHttpClient constructedClient = httpClient.build(); if (pubnub.getConfiguration().getMaximumConnections() != null) { constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections()); } return constructedClient; } private Retrofit createRetrofit(OkHttpClient client) { Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub)); } retrofitBuilder = retrofitBuilder .baseUrl(pubnub.getBaseUrl()) .addConverterFactory(this.pubnub.getMapper().getConverterFactory()); if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder = retrofitBuilder.client(client); } return retrofitBuilder.build(); } public void destroy(boolean force) { if (this.transactionClientInstance != null) { closeExecutor(this.transactionClientInstance, force); } if (this.subscriptionClientInstance != null) { closeExecutor(this.subscriptionClientInstance, force); } } private void closeExecutor(OkHttpClient client, boolean force) { client.dispatcher().cancelAll(); if (force) { client.connectionPool().evictAll(); ExecutorService executorService = client.dispatcher().executorService(); executorService.shutdown(); } } }
Texte modifié
Ouvrir un fichier
package com.pubnub.api.managers; import com.pubnub.api.PNConfiguration; import com.pubnub.api.PubNub; import com.pubnub.api.endpoints.vendor.AppEngineFactory; import com.pubnub.api.enums.PNLogVerbosity; import com.pubnub.api.interceptors.SignatureInterceptor; import com.pubnub.api.services.AccessManagerService; import com.pubnub.api.services.ChannelGroupService; import com.pubnub.api.services.HistoryService; import com.pubnub.api.services.MemberService; import com.pubnub.api.services.MembershipService; import com.pubnub.api.services.MessageActionService; import com.pubnub.api.services.PresenceService; import com.pubnub.api.services.PublishService; import com.pubnub.api.services.PushService; import com.pubnub.api.services.SignalService; import com.pubnub.api.services.SpaceService; import com.pubnub.api.services.SubscribeService; import com.pubnub.api.services.TimeService; import com.pubnub.api.services.UserService; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import java.util.Collections; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class RetrofitManager { private PubNub pubnub; private SignatureInterceptor signatureInterceptor; private OkHttpClient transactionClientInstance; private OkHttpClient subscriptionClientInstance; // services private PresenceService presenceService; private HistoryService historyService; private PushService pushService; private AccessManagerService accessManagerService; private ChannelGroupService channelGroupService; private TimeService timeService; private PublishService publishService; private SubscribeService subscribeService; private SignalService signalService; private UserService userService; private SpaceService spaceService; private MembershipService membershipService; private MemberService memberService; private MessageActionService messageActionService; private Retrofit transactionInstance; private Retrofit subscriptionInstance; public RetrofitManager(PubNub pubNubInstance) { this.pubnub = pubNubInstance; this.signatureInterceptor = new SignatureInterceptor(pubNubInstance); if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) { this.transactionClientInstance = createOkHttpClient(this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(), this.pubnub.getConfiguration().getConnectTimeout()); this.subscriptionClientInstance = createOkHttpClient(this.pubnub.getConfiguration().getSubscribeTimeout(), this.pubnub.getConfiguration().getConnectTimeout()); } this.transactionInstance = createRetrofit(this.transactionClientInstance); this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance); this.presenceService = transactionInstance.create(PresenceService.class); this.historyService = transactionInstance.create(HistoryService.class); this.pushService = transactionInstance.create(PushService.class); this.accessManagerService = transactionInstance.create(AccessManagerService.class); this.channelGroupService = transactionInstance.create(ChannelGroupService.class); this.publishService = transactionInstance.create(PublishService.class); this.subscribeService = subscriptionInstance.create(SubscribeService.class); this.timeService = transactionInstance.create(TimeService.class); this.signalService = transactionInstance.create(SignalService.class); this.userService = transactionInstance.create(UserService.class); this.spaceService = transactionInstance.create(SpaceService.class); this.membershipService = transactionInstance.create(MembershipService.class); this.memberService = transactionInstance.create(MemberService.class); this.messageActionService = transactionInstance.create(MessageActionService.class); } private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) { PNConfiguration pnConfiguration = pubnub.getConfiguration(); OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.retryOnConnectionFailure(true); httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS); httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS); if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging); } if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) { httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor()); } if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) { httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(), pnConfiguration.getX509ExtendedTrustManager()); } if (pnConfiguration.getConnectionSpec() != null) { httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec())); } if (pnConfiguration.getHostnameVerifier() != null) { httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier()); } if (pubnub.getConfiguration().getProxy() != null) { httpClient.proxy(pubnub.getConfiguration().getProxy()); } if (pubnub.getConfiguration().getProxySelector() != null) { httpClient.proxySelector(pubnub.getConfiguration().getProxySelector()); } if (pubnub.getConfiguration().getProxyAuthenticator() != null) { httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator()); } if (pubnub.getConfiguration().getCertificatePinner() != null) { httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner()); } httpClient.addInterceptor(this.signatureInterceptor); OkHttpClient constructedClient = httpClient.build(); if (pubnub.getConfiguration().getMaximumConnections() != null) { constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections()); } return constructedClient; } private Retrofit createRetrofit(OkHttpClient client) { Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub)); } retrofitBuilder = retrofitBuilder.baseUrl(pubnub.getBaseUrl()).addConverterFactory(this.pubnub.getMapper().getConverterFactory()); if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder = retrofitBuilder.client(client); } return retrofitBuilder.build(); } public void destroy(boolean force) { if (this.transactionClientInstance != null) { closeExecutor(this.transactionClientInstance, force); } if (this.subscriptionClientInstance != null) { closeExecutor(this.subscriptionClientInstance, force); } } private void closeExecutor(OkHttpClient client, boolean force) { client.dispatcher().cancelAll(); if (force) { client.connectionPool().evictAll(); ExecutorService executorService = client.dispatcher().executorService(); executorService.shutdown(); } } @java.lang.SuppressWarnings("all") public PresenceService getPresenceService() { return this.presenceService; } @java.lang.SuppressWarnings("all") public HistoryService getHistoryService() { return this.historyService; } @java.lang.SuppressWarnings("all") public PushService getPushService() { return this.pushService; } @java.lang.SuppressWarnings("all") public AccessManagerService getAccessManagerService() { return this.accessManagerService; } @java.lang.SuppressWarnings("all") public ChannelGroupService getChannelGroupService() { return this.channelGroupService; } @java.lang.SuppressWarnings("all") public TimeService getTimeService() { return this.timeService; } @java.lang.SuppressWarnings("all") public PublishService getPublishService() { return this.publishService; } @java.lang.SuppressWarnings("all") public SubscribeService getSubscribeService() { return this.subscribeService; } @java.lang.SuppressWarnings("all") public SignalService getSignalService() { return this.signalService; } @java.lang.SuppressWarnings("all") public UserService getUserService() { return this.userService; } @java.lang.SuppressWarnings("all") public SpaceService getSpaceService() { return this.spaceService; } @java.lang.SuppressWarnings("all") public MembershipService getMembershipService() { return this.membershipService; } @java.lang.SuppressWarnings("all") public MemberService getMemberService() { return this.memberService; } @java.lang.SuppressWarnings("all") public MessageActionService getMessageActionService() { return this.messageActionService; } @java.lang.SuppressWarnings("all") public Retrofit getTransactionInstance() { return this.transactionInstance; } @java.lang.SuppressWarnings("all") public Retrofit getSubscriptionInstance() { return this.subscriptionInstance; } }
Trouver la différence