diff --git a/internal/iplibrary/library_interface.go b/internal/iplibrary/library_interface.go index df0ef7c..5616397 100644 --- a/internal/iplibrary/library_interface.go +++ b/internal/iplibrary/library_interface.go @@ -1,12 +1,13 @@ package iplibrary type LibraryInterface interface { - // 加载数据库文件 + // Load 加载数据库文件 Load(dbPath string) error - // 查询IP + // Lookup 查询IP + // 返回结果有可能为空 Lookup(ip string) (*Result, error) - // 关闭数据库文件 + // Close 关闭数据库文件 Close() } diff --git a/internal/stats/http_request_stat_manager.go b/internal/stats/http_request_stat_manager.go index c30b61e..2e808f3 100644 --- a/internal/stats/http_request_stat_manager.go +++ b/internal/stats/http_request_stat_manager.go @@ -165,7 +165,7 @@ Loop: ip := ipString[atIndex+1:] if iplibrary.SharedLibrary != nil { result, err := iplibrary.SharedLibrary.Lookup(ip) - if err == nil { + if err == nil && result != nil { this.cityMap[serverId+"@"+result.Country+"@"+result.Province+"@"+result.City] ++ if len(result.ISP) > 0 {