Skip to content

Commit bd8a18d

Browse files
committed
check cloudflare error in downloading
1 parent 0a7ec8a commit bd8a18d

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

src/nya/miku/wishmaster/api/CloudflareChanModule.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
package nya.miku.wishmaster.api;
2020

21+
import java.io.OutputStream;
22+
2123
import android.content.Context;
2224
import android.content.SharedPreferences;
2325
import android.content.res.Resources;
@@ -26,7 +28,11 @@
2628
import cz.msebera.android.httpclient.cookie.Cookie;
2729
import cz.msebera.android.httpclient.impl.cookie.BasicClientCookie;
2830
import nya.miku.wishmaster.R;
31+
import nya.miku.wishmaster.api.interfaces.CancellableTask;
32+
import nya.miku.wishmaster.api.interfaces.ProgressListener;
2933
import nya.miku.wishmaster.http.cloudflare.CloudflareException;
34+
import nya.miku.wishmaster.http.streamer.HttpRequestModel;
35+
import nya.miku.wishmaster.http.streamer.HttpStreamer;
3036
import nya.miku.wishmaster.http.streamer.HttpWrongStatusCodeException;
3137

3238
public abstract class CloudflareChanModule extends AbstractChanModule {
@@ -113,4 +119,16 @@ protected boolean cloudflareRecaptchaFallback() {
113119
return preferences.getBoolean(getSharedKey(PREF_KEY_CLOUDFLARE_RECAPTCHA_FALLBACK), false);
114120
}
115121

122+
@Override
123+
public void downloadFile(String url, OutputStream out, ProgressListener listener, CancellableTask task) throws Exception {
124+
String fixedUrl = fixRelativeUrl(url);
125+
try {
126+
HttpRequestModel rqModel = HttpRequestModel.builder().setGET().build();
127+
HttpStreamer.getInstance().downloadFileFromUrl(fixedUrl, out, rqModel, httpClient, listener, task, true);
128+
} catch (HttpWrongStatusCodeException e) {
129+
if (canCloudflare()) checkCloudflareError(e, fixedUrl);
130+
throw e;
131+
}
132+
}
133+
116134
}

src/nya/miku/wishmaster/chans/makaba/MakabaModule.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import static nya.miku.wishmaster.chans.makaba.MakabaJsonMapper.*;
2323

2424
import java.io.InputStream;
25-
import java.io.OutputStream;
2625
import java.net.URLDecoder;
2726
import java.net.URLEncoder;
2827
import java.util.ArrayList;
@@ -670,18 +669,6 @@ public String reportPost(DeletePostModel model, ProgressListener listener, Cance
670669
}
671670
}
672671

673-
@Override
674-
public void downloadFile(String url, OutputStream out, ProgressListener listener, CancellableTask task) throws Exception {
675-
String fixedUrl = fixRelativeUrl(url);
676-
try {
677-
HttpRequestModel rqModel = HttpRequestModel.builder().setGET().build();
678-
HttpStreamer.getInstance().downloadFileFromUrl(fixedUrl, out, rqModel, httpClient, listener, task, true);
679-
} catch (HttpWrongStatusCodeException e) {
680-
checkCloudflareError(e, fixedUrl);
681-
throw e;
682-
}
683-
}
684-
685672
@Override
686673
public String buildUrl(UrlPageModel model) throws IllegalArgumentException {
687674
if (!model.chanName.equals(CHAN_NAME)) throw new IllegalArgumentException("wrong chan");

0 commit comments

Comments
 (0)