mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-19 23:41:13 +01:00
Authentication with batoto done
This commit is contained in:
@@ -5,22 +5,31 @@ import com.squareup.okhttp.CacheControl;
|
||||
import com.squareup.okhttp.Headers;
|
||||
import com.squareup.okhttp.OkHttpClient;
|
||||
import com.squareup.okhttp.Request;
|
||||
import com.squareup.okhttp.RequestBody;
|
||||
import com.squareup.okhttp.Response;
|
||||
|
||||
import java.net.CookieManager;
|
||||
import java.net.CookiePolicy;
|
||||
import java.net.CookieStore;
|
||||
|
||||
import rx.Observable;
|
||||
|
||||
public final class NetworkHelper {
|
||||
|
||||
private OkHttpClient mClient;
|
||||
private CookieManager cookieManager;
|
||||
|
||||
public final CacheControl NULL_CACHE_CONTROL = new CacheControl.Builder().noCache().build();
|
||||
public final Headers NULL_HEADERS = new Headers.Builder().build();
|
||||
|
||||
public NetworkHelper() {
|
||||
mClient = new OkHttpClient();
|
||||
cookieManager = new CookieManager();
|
||||
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
|
||||
mClient.setCookieHandler(cookieManager);
|
||||
}
|
||||
|
||||
public Observable<Response> getResponse(final String url, final CacheControl cacheControl, final Headers headers) {
|
||||
public Observable<Response> getResponse(final String url, final Headers headers, final CacheControl cacheControl) {
|
||||
return Observable.create(subscriber -> {
|
||||
try {
|
||||
if (!subscriber.isUnsubscribed()) {
|
||||
@@ -49,10 +58,32 @@ public final class NetworkHelper {
|
||||
});
|
||||
}
|
||||
|
||||
public Observable<String> getStringResponse(final String url, final CacheControl cacheControl, final Headers headers) {
|
||||
public Observable<String> getStringResponse(final String url, final Headers headers, final CacheControl cacheControl) {
|
||||
|
||||
return getResponse(url, cacheControl, headers)
|
||||
return getResponse(url, headers, cacheControl)
|
||||
.flatMap(this::mapResponseToString);
|
||||
}
|
||||
|
||||
public Observable<Response> postData(final String url, final RequestBody formBody, final Headers headers) {
|
||||
return Observable.create(subscriber -> {
|
||||
try {
|
||||
if (!subscriber.isUnsubscribed()) {
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.post(formBody)
|
||||
.headers(headers != null ? headers : NULL_HEADERS)
|
||||
.build();
|
||||
subscriber.onNext(mClient.newCall(request).execute());
|
||||
}
|
||||
subscriber.onCompleted();
|
||||
} catch (Throwable e) {
|
||||
subscriber.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public CookieStore getCookies() {
|
||||
return cookieManager.getCookieStore();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package eu.kanade.mangafeed.data.helpers;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -17,11 +19,11 @@ public class SourceManager {
|
||||
private HashMap<Integer, Source> mSourcesMap;
|
||||
private NetworkHelper mNetworkHelper;
|
||||
private CacheManager mCacheManager;
|
||||
private Context context;
|
||||
|
||||
public SourceManager(NetworkHelper networkHelper, CacheManager cacheManager) {
|
||||
public SourceManager(Context context) {
|
||||
mSourcesMap = new HashMap<>();
|
||||
mNetworkHelper = networkHelper;
|
||||
mCacheManager = cacheManager;
|
||||
this.context = context;
|
||||
|
||||
initializeSources();
|
||||
}
|
||||
@@ -36,9 +38,9 @@ public class SourceManager {
|
||||
private Source createSource(int sourceKey) {
|
||||
switch (sourceKey) {
|
||||
case BATOTO:
|
||||
return new Batoto(mNetworkHelper, mCacheManager);
|
||||
return new Batoto(context);
|
||||
case MANGAHERE:
|
||||
return new MangaHere(mNetworkHelper, mCacheManager);
|
||||
return new MangaHere(context);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user