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)");

        }
 }


Reply via email to