diff --git a/server/routes/lookup/index.js b/server/routes/lookup/index.js index 25be038..6bae168 100644 --- a/server/routes/lookup/index.js +++ b/server/routes/lookup/index.js @@ -14,6 +14,7 @@ const { enrichNeighbours } = require("./enrich-neighbours"); const { deriveRirAndCountry } = require("./rir-country"); const { computeRoutingInfo } = require("./routing-info"); const { computeCrossChecks } = require("./cross-check"); +const { pdbOrgState } = require("../../pdb-org-countries"); // Main lookup endpoint: /api/lookup?asn=X async function handleLookup(req, res, url) { @@ -177,7 +178,12 @@ async function handleLookup(req, res, url) { downstreams = enriched.downstreams; peers = enriched.peers; - const { rir, country } = deriveRirAndCountry(rirEntries, rirData, rdapData, bgpHeData); + const { rir, country: derivedCountry } = deriveRirAndCountry(rirEntries, rirData, rdapData, bgpHeData); + // "RIPE Stat RIR" and "bgp.he.net" sources above are stubbed to always + // resolve null (see Phase 1 promises), so derivedCountry is currently + // never populated -- fall back to PeeringDB's org-level country map + // (pdbOrgState, loaded at startup), the same source lia.js already uses. + const country = derivedCountry || (pdbOrgState.map.get(net.org_id) || {}).country || ""; const duration = Date.now() - start;