🚧 Don’t cancel on archive manifests
[Sone.git] / src / main / java / net / pterodactylus / sone / core / FreenetInterface.java
index 59e790c..0f05fc7 100644 (file)
@@ -179,6 +179,9 @@ public class FreenetInterface {
                SnoopMetadata snoop = new SnoopMetadata() {
                        @Override
                        public boolean snoopMetadata(Metadata meta, ClientContext context) {
+                               if (meta.isArchiveManifest()) {
+                                       return false;
+                               }
                                String mimeType = meta.getMIMEType();
                                boolean cancel = (mimeType == null) || backgroundFetchCallback.shouldCancel(uri, mimeType, meta.dataLength());
                                if (cancel) {
@@ -188,6 +191,7 @@ public class FreenetInterface {
                        }
                };
                FetchContext fetchContext = client.getFetchContext();
+               fetchContext.dontEnterImplicitArchives = false;
                try {
                        ClientGetter clientGetter = client.fetch(uri, 2097152, callback, fetchContext, RequestStarter.INTERACTIVE_PRIORITY_CLASS);
                        clientGetter.setMetaSnoop(snoop);