mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 05:18:58 +00:00
(assistant) Fix NPE when IP information is absent
This commit is contained in:
parent
9224176202
commit
95cde242ca
@ -1,20 +1,20 @@
|
|||||||
package nu.marginalia.functions.domains;
|
package nu.marginalia.functions.domains;
|
||||||
|
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
|
||||||
import nu.marginalia.api.domains.RpcDomainInfoResponse;
|
|
||||||
import nu.marginalia.api.linkgraph.AggregateLinkGraphClient;
|
|
||||||
import nu.marginalia.geoip.GeoIpDictionary;
|
|
||||||
import nu.marginalia.model.EdgeDomain;
|
|
||||||
import nu.marginalia.db.DbDomainQueries;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
|
import nu.marginalia.api.domains.RpcDomainInfoResponse;
|
||||||
|
import nu.marginalia.api.linkgraph.AggregateLinkGraphClient;
|
||||||
|
import nu.marginalia.db.DbDomainQueries;
|
||||||
|
import nu.marginalia.geoip.GeoIpDictionary;
|
||||||
|
import nu.marginalia.model.EdgeDomain;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.*;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class DomainInformationService {
|
public class DomainInformationService {
|
||||||
@ -63,7 +63,8 @@ public class DomainInformationService {
|
|||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
String ip = rs.getString("IP");
|
String ip = rs.getString("IP");
|
||||||
|
|
||||||
builder.setIp(ip);
|
builder.setIp(Objects.requireNonNullElse(ip, ""));
|
||||||
|
|
||||||
geoIpDictionary.getAsnInfo(ip).ifPresent(asnInfo -> {
|
geoIpDictionary.getAsnInfo(ip).ifPresent(asnInfo -> {
|
||||||
builder.setAsn(asnInfo.asn());
|
builder.setAsn(asnInfo.asn());
|
||||||
builder.setAsnOrg(asnInfo.org());
|
builder.setAsnOrg(asnInfo.org());
|
||||||
|
@ -71,7 +71,6 @@ public class GeoIpDictionary {
|
|||||||
try {
|
try {
|
||||||
return getAsnInfo(InetAddress.getByName(ip));
|
return getAsnInfo(InetAddress.getByName(ip));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user