Add MaxMind debug info
This commit is contained in:
parent
4313f6f14f
commit
3a838b8b56
@ -331,7 +331,7 @@ public final class APIv3 extends AbstractVerticle {
|
||||
ctx.response().setStatusCode(code);
|
||||
|
||||
if (!ctx.request().path().contains("dumps")) {
|
||||
log.info(gson.toJson(response));
|
||||
//log.info(gson.toJson(response));
|
||||
}
|
||||
|
||||
ctx.response().end(gson.toJson(response));
|
||||
|
@ -6,6 +6,7 @@ import fr.javatic.mongo.jacksonCodec.Entity;
|
||||
import fr.javatic.mongo.jacksonCodec.objectId.Id;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.frozenorb.apiv3.APIv3;
|
||||
import net.frozenorb.apiv3.maxmind.MaxMindResult;
|
||||
import net.frozenorb.apiv3.util.MaxMindUtils;
|
||||
@ -15,6 +16,7 @@ import java.time.Instant;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Entity
|
||||
@AllArgsConstructor
|
||||
public final class IpIntel {
|
||||
@ -34,22 +36,31 @@ public final class IpIntel {
|
||||
}
|
||||
|
||||
public static void findOrCreateById(String id, SingleResultCallback<IpIntel> callback) {
|
||||
log.info("ip intel for " + id + " queried...");
|
||||
|
||||
findById(id, (existingIpIntel, error) -> {
|
||||
if (error != null) {
|
||||
log.info("ip intel for " + id + " db check failed");
|
||||
callback.onResult(null, error);
|
||||
} else if (existingIpIntel != null) {
|
||||
log.info("ip intel for " + id + " found in db, returning that");
|
||||
callback.onResult(existingIpIntel, null);
|
||||
} else {
|
||||
log.info("ip intel for " + id + " not found, calling maxmind");
|
||||
MaxMindUtils.getInsights(id, (maxMindResult, error2) -> {
|
||||
if (error2 != null) {
|
||||
log.info("ip intel for " + id + " maxmind query failed");
|
||||
callback.onResult(null, error2);
|
||||
} else {
|
||||
log.info("ip intel for " + id + " returned from maxmind, inserting");
|
||||
IpIntel newIpIntel = new IpIntel(id, maxMindResult);
|
||||
|
||||
ipIntelCollection.insertOne(newIpIntel, (ignored, error3) -> {
|
||||
if (error3 != null) {
|
||||
log.info("ip intel for " + id + " insertion failed");
|
||||
callback.onResult(null, error3);
|
||||
} else {
|
||||
log.info("ip intel for " + id + " insertion succeeded");
|
||||
callback.onResult(newIpIntel, null);
|
||||
}
|
||||
});
|
||||
|
@ -6,11 +6,13 @@ import io.vertx.core.http.HttpClient;
|
||||
import io.vertx.core.http.HttpClientOptions;
|
||||
import io.vertx.core.json.JsonObject;
|
||||
import lombok.experimental.UtilityClass;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.frozenorb.apiv3.APIv3;
|
||||
import net.frozenorb.apiv3.maxmind.MaxMindResult;
|
||||
|
||||
import java.util.Base64;
|
||||
|
||||
@Slf4j
|
||||
@UtilityClass
|
||||
public class MaxMindUtils {
|
||||
|
||||
@ -21,6 +23,8 @@ public class MaxMindUtils {
|
||||
public static void getInsights(String ip, SingleResultCallback<MaxMindResult> callback) {
|
||||
String authHeader = "Basic " + Base64.getEncoder().encodeToString((maxMindUserId + ":" + maxMindLicenseKey).getBytes(Charsets.UTF_8));
|
||||
|
||||
log.warn("Requesting ip info for " + ip + " from MaxMind.");
|
||||
|
||||
httpsClient.get(443, "geoip.maxmind.com", "/geoip/v2.1/insights/" + ip, (response) -> {
|
||||
response.bodyHandler((body) -> {
|
||||
JsonObject bodyJson = new JsonObject(body.toString());
|
||||
|
Loading…
Reference in New Issue
Block a user