From bb748b00f2083e2dba4ec1ed259ab2cda9d16918 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 22 Sep 2020 12:34:26 -0400 Subject: [PATCH] make extension explicit --- .../geoLocation/GeoLocateServiceDriverBase.java | 13 +++++-------- .../cloud/geoLocation/maxmind/MaxMindDriver.java | 5 +---- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/bubble-server/src/main/java/bubble/cloud/geoLocation/GeoLocateServiceDriverBase.java b/bubble-server/src/main/java/bubble/cloud/geoLocation/GeoLocateServiceDriverBase.java index f3a24194..5e67d810 100644 --- a/bubble-server/src/main/java/bubble/cloud/geoLocation/GeoLocateServiceDriverBase.java +++ b/bubble-server/src/main/java/bubble/cloud/geoLocation/GeoLocateServiceDriverBase.java @@ -78,7 +78,7 @@ public abstract class GeoLocateServiceDriverBase extends CloudServiceDriverBa protected abstract GeoLocation _geolocate (String ip); - public File initFile(String url, String pathMatch, List headers) { + public File initFile(String url, String pathMatch, List headers, String extension) { final File archive; final File dbFile; String ext; @@ -107,18 +107,17 @@ public abstract class GeoLocateServiceDriverBase extends CloudServiceDriverBa } // create a symlink with the proper extension, so "unroll" can detect the archive type - ext = getExtension(url); } - if (ext.startsWith(".")) ext = ext.substring(1); - switch (ext) { + if (extension.startsWith(".")) extension = extension.substring(1); + switch (extension) { case "zip": case "tgz": case "gz": case "tar.gz": case "tar.bz2": break; - default: return die("initFile: unrecognized archive extension: "+ext+", from URL="+url); + default: return die("initFile: unrecognized archive extension: "+extension+", from URL="+url); } final File link; if (!isFile) { - link = new File(abs(archive) + "." + ext); + link = new File(abs(archive) + "." + extension); if (link.exists() && !link.delete()) return die("initFile: error removing link: " + abs(link)); symlink(link, archive); } else { @@ -161,6 +160,4 @@ public abstract class GeoLocateServiceDriverBase extends CloudServiceDriverBa throw new IllegalStateException(msg, lastEx); } - public String getExtension(String url) { return FileUtil.extension(url); } - } diff --git a/bubble-server/src/main/java/bubble/cloud/geoLocation/maxmind/MaxMindDriver.java b/bubble-server/src/main/java/bubble/cloud/geoLocation/maxmind/MaxMindDriver.java index 2ff38877..ce6c9767 100644 --- a/bubble-server/src/main/java/bubble/cloud/geoLocation/maxmind/MaxMindDriver.java +++ b/bubble-server/src/main/java/bubble/cloud/geoLocation/maxmind/MaxMindDriver.java @@ -15,17 +15,14 @@ import java.io.IOException; import java.net.InetAddress; import static org.cobbzilla.util.daemon.ZillaRuntime.die; -import static org.cobbzilla.util.http.URIUtil.queryParams; public class MaxMindDriver extends GeoLocateServiceDriverBase { private DatabaseReader reader; - @Override public String getExtension(String url) { return queryParams(url).get("suffix"); } - @Override public void postSetup() { // grab latest DB - final File database = initFile(config.getUrl(), config.getFile(), config.headersList()); + final File database = initFile(config.getUrl(), config.getFile(), config.headersList(), ".tar.gz"); try { reader = new DatabaseReader.Builder(database).build(); } catch (IOException e) {