Browse Source

make extension explicit

tags/v1.2.5
Jonathan Cobb 4 years ago
parent
commit
bb748b00f2
2 changed files with 6 additions and 12 deletions
  1. +5
    -8
      bubble-server/src/main/java/bubble/cloud/geoLocation/GeoLocateServiceDriverBase.java
  2. +1
    -4
      bubble-server/src/main/java/bubble/cloud/geoLocation/maxmind/MaxMindDriver.java

+ 5
- 8
bubble-server/src/main/java/bubble/cloud/geoLocation/GeoLocateServiceDriverBase.java View File

@@ -78,7 +78,7 @@ public abstract class GeoLocateServiceDriverBase<T> extends CloudServiceDriverBa

protected abstract GeoLocation _geolocate (String ip);

public File initFile(String url, String pathMatch, List<NameAndValue> headers) {
public File initFile(String url, String pathMatch, List<NameAndValue> headers, String extension) {
final File archive;
final File dbFile;
String ext;
@@ -107,18 +107,17 @@ public abstract class GeoLocateServiceDriverBase<T> 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<T> extends CloudServiceDriverBa
throw new IllegalStateException(msg, lastEx);
}

public String getExtension(String url) { return FileUtil.extension(url); }

}

+ 1
- 4
bubble-server/src/main/java/bubble/cloud/geoLocation/maxmind/MaxMindDriver.java View File

@@ -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<CloudApiUrlConfig> {

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) {


Loading…
Cancel
Save