Skip to content

Commit d2b2eed

Browse files
committed
Pass the task to onSuccess & onError.
1 parent 5f80e02 commit d2b2eed

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

webmagic-core/src/main/java/us/codecraft/webmagic/downloader/AbstractDownloader.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import us.codecraft.webmagic.Page;
44
import us.codecraft.webmagic.Request;
55
import us.codecraft.webmagic.Site;
6+
import us.codecraft.webmagic.Task;
67
import us.codecraft.webmagic.selector.Html;
78

89
/**
@@ -35,15 +36,26 @@ public Html download(String url, String charset) {
3536
return (Html) page.getHtml();
3637
}
3738

39+
@Deprecated
3840
protected void onSuccess(Request request) {
3941
}
4042

43+
/**
44+
* @since 0.7.6
45+
*/
46+
protected void onSuccess(Request request, Task task) {
47+
this.onSuccess(request);
48+
}
49+
4150
@Deprecated
4251
protected void onError(Request request) {
43-
this.onError(request, null);
4452
}
4553

46-
protected void onError(Request request, Throwable e) {
54+
/**
55+
* @since 0.7.6
56+
*/
57+
protected void onError(Request request, Task task, Throwable e) {
58+
this.onError(request);
4759
}
4860

4961
}

webmagic-core/src/main/java/us/codecraft/webmagic/downloader/HttpClientDownloader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ public Page download(Request request, Task task) {
8282
try {
8383
httpResponse = httpClient.execute(requestContext.getHttpUriRequest(), requestContext.getHttpClientContext());
8484
page = handleResponse(request, request.getCharset() != null ? request.getCharset() : task.getSite().getCharset(), httpResponse, task);
85-
onSuccess(request);
85+
onSuccess(request, task);
8686
logger.info("downloading page success {}", request.getUrl());
8787
return page;
8888
} catch (IOException e) {
8989
logger.warn("download page {} error", request.getUrl(), e);
90-
onError(request, e);
90+
onError(request, task, e);
9191
return page;
9292
} finally {
9393
if (httpResponse != null) {

webmagic-extension/src/main/java/us/codecraft/webmagic/downloader/PhantomJSDownloader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ public Page download(Request request, Task task) {
9898
page.setRequest(request);
9999
page.setStatusCode(200);
100100
}
101-
onSuccess(request);
101+
onSuccess(request, task);
102102
} catch (Exception e) {
103-
onError(request, e);
103+
onError(request, task, e);
104104
logger.warn("download page {} error", request.getUrl(), e);
105105
}
106106
return page;

webmagic-selenium/src/main/java/us/codecraft/webmagic/downloader/selenium/SeleniumDownloader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ public Page download(Request request, Task task) {
111111
page.setHtml(new Html(content, request.getUrl()));
112112
page.setUrl(new PlainText(request.getUrl()));
113113
page.setRequest(request);
114-
onSuccess(request);
114+
onSuccess(request, task);
115115
} catch (Exception e) {
116116
logger.warn("download page {} error", request.getUrl(), e);
117-
onError(request, e);
117+
onError(request, task, e);
118118
} finally {
119119
if (webDriver != null) {
120120
webDriverPool.returnToPool(webDriver);

0 commit comments

Comments
 (0)