Author: batosai
Date: 2008-08-11 02:42:37 +0000 (Mon, 11 Aug 2008)
New Revision: 21735
Modified:
trunk/apps/WoT/src/plugins/WoT/IdentityFetcher.java
Log:
Handle redirection to a new edition.
Modified: trunk/apps/WoT/src/plugins/WoT/IdentityFetcher.java
===================================================================
--- trunk/apps/WoT/src/plugins/WoT/IdentityFetcher.java 2008-08-11 02:21:46 UTC
(rev 21734)
+++ trunk/apps/WoT/src/plugins/WoT/IdentityFetcher.java 2008-08-11 02:42:37 UTC
(rev 21735)
@@ -48,26 +48,41 @@
@Override
public void onFailure(FetchException e, ClientGetter state) {
-
+
+ if(e.newURI != null) { // Handle redirection to a new edition
+ Identity identity =
wot.getIdentityByURI(state.getURI());
+ // We just take the redirection number to avoid a nasty
redirect loop by an attacker
+
identity.setRequestURI(identity.getRequestURI().setSuggestedEdition(e.newURI.getSuggestedEdition()));
+ db.store(identity);
+ try {
+ fetch(identity);
+ } catch (FetchException e2) {
+ System.out.print(e2.getLocalizedMessage());
+ }
+ }
}
@Override
public void onFailure(InsertException e, BaseClientPutter state) {
+ System.out.println("CALL: onFailure(InsertException e,
BaseClientPutter state)");
}
@Override
public void onFetchable(BaseClientPutter state) {
+ System.out.println("CALL: onFetchable(BaseClientPutter state)");
}
@Override
public void onGeneratedURI(FreenetURI uri, BaseClientPutter state) {
+ System.out.println("CALL: onGeneratedURI(FreenetURI uri,
BaseClientPutter state)");
}
@Override
public void onMajorProgress() {
+ System.out.println("CALL: onMajorProgress()");
}
@@ -104,6 +119,7 @@
@Override
public void onSuccess(BaseClientPutter state) {
+ System.out.println("CALL: onSuccess(BaseClientPutter state)");
}
}