From c9fc3aa74a9aa9157599f55b5049e08faeab3acb Mon Sep 17 00:00:00 2001 From: Igor Chubin Date: Sun, 18 Dec 2022 16:26:30 +0100 Subject: [PATCH] Rename Location to Address in geo/ip --- internal/geo/ip/convert.go | 8 ++++---- internal/geo/ip/ip.go | 28 ++++++++++++++-------------- internal/geo/ip/ip_test.go | 12 ++++++------ 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/internal/geo/ip/convert.go b/internal/geo/ip/convert.go index e8cbd10..bca972a 100644 --- a/internal/geo/ip/convert.go +++ b/internal/geo/ip/convert.go @@ -25,20 +25,20 @@ func (c *Cache) ConvertCache() error { return err } - err = createTable(db, "Location") + err = createTable(db, "Address") if err != nil { return err } log.Println("listing cache entries...") - files, err := filepath.Glob(filepath.Join(c.config.Geo.LocationCache, "*")) + files, err := filepath.Glob(filepath.Join(c.config.Geo.IPCache, "*")) if err != nil { return err } log.Printf("going to convert %d entries\n", len(files)) - block := []Location{} + block := []Address{} for i, file := range files { ip := filepath.Base(file) loc, err := c.Read(ip) @@ -58,7 +58,7 @@ func (c *Cache) ConvertCache() error { if err != nil { return err } - block = []Location{} + block = []Address{} log.Println("converted", i+1, "entries") } diff --git a/internal/geo/ip/ip.go b/internal/geo/ip/ip.go index 08cb7f1..91f3450 100644 --- a/internal/geo/ip/ip.go +++ b/internal/geo/ip/ip.go @@ -18,8 +18,8 @@ import ( "github.com/samonzeweb/godb/adapters/sqlite" ) -// Location information. -type Location struct { +// Address information. +type Address struct { IP string `db:"ip,key"` CountryCode string `db:"countryCode"` Country string `db:"country"` @@ -29,7 +29,7 @@ type Location struct { Longitude float64 `db:"longitude"` } -func (l *Location) String() string { +func (l *Address) String() string { if l.Latitude == -1000 { return fmt.Sprintf( "%s;%s;%s;%s", @@ -76,7 +76,7 @@ func NewCache(config *config.Config) (*Cache, error) { // DE;Germany;Free and Hanseatic City of Hamburg;Hamburg;53.5736;9.9782 // -func (c *Cache) Read(addr string) (*Location, error) { +func (c *Cache) Read(addr string) (*Address, error) { if c.config.Geo.IPCacheType == types.CacheTypeDB { return c.readFromCacheDB(addr) } @@ -84,17 +84,17 @@ func (c *Cache) Read(addr string) (*Location, error) { return c.readFromCacheFile(addr) } -func (c *Cache) readFromCacheFile(addr string) (*Location, error) { +func (c *Cache) readFromCacheFile(addr string) (*Address, error) { bytes, err := os.ReadFile(c.cacheFile(addr)) if err != nil { return nil, types.ErrNotFound } - return NewLocationFromString(addr, string(bytes)) + return NewAddressFromString(addr, string(bytes)) } -func (c *Cache) readFromCacheDB(addr string) (*Location, error) { - result := Location{} +func (c *Cache) readFromCacheDB(addr string) (*Address, error) { + result := Address{} err := c.db.Select(&result). Where("IP = ?", addr). Do() @@ -105,7 +105,7 @@ func (c *Cache) readFromCacheDB(addr string) (*Location, error) { return &result, nil } -func (c *Cache) Put(addr string, loc *Location) error { +func (c *Cache) Put(addr string, loc *Address) error { if c.config.Geo.IPCacheType == types.CacheTypeDB { return c.putToCacheDB(loc) } @@ -113,7 +113,7 @@ func (c *Cache) Put(addr string, loc *Location) error { return c.putToCacheFile(addr, loc) } -func (c *Cache) putToCacheDB(loc *Location) error { +func (c *Cache) putToCacheDB(loc *Address) error { err := c.db.Insert(loc).Do() // it should work like this: // @@ -140,9 +140,9 @@ func (c *Cache) cacheFile(addr string) string { return path.Join(c.config.Geo.IPCache, addr) } -// NewLocationFromString parses the location cache entry s, +// NewAddressFromString parses the location cache entry s, // and return location, or error, if the cache entry is invalid. -func NewLocationFromString(addr, s string) (*Location, error) { +func NewAddressFromString(addr, s string) (*Address, error) { var ( lat float64 = -1000 long float64 = -1000 @@ -166,7 +166,7 @@ func NewLocationFromString(addr, s string) (*Location, error) { } } - return &Location{ + return &Address{ IP: addr, CountryCode: parts[0], Country: parts[1], @@ -207,7 +207,7 @@ func (c *Cache) Response(r *http.Request) *routing.Cadre { return respERR } - location, err := NewLocationFromString(ip, value) + location, err := NewAddressFromString(ip, value) if err != nil { return respERR } diff --git a/internal/geo/ip/ip_test.go b/internal/geo/ip/ip_test.go index 91a9213..9ea2576 100644 --- a/internal/geo/ip/ip_test.go +++ b/internal/geo/ip/ip_test.go @@ -15,13 +15,13 @@ func TestParseCacheEntry(t *testing.T) { tests := []struct { addr string input string - expected Location + expected Address err error }{ { "1.2.3.4", "DE;Germany;Free and Hanseatic City of Hamburg;Hamburg;53.5736;9.9782", - Location{ + Address{ IP: "1.2.3.4", CountryCode: "DE", Country: "Germany", @@ -36,7 +36,7 @@ func TestParseCacheEntry(t *testing.T) { { "1.2.3.4", "ES;Spain;Madrid, Comunidad de;Madrid;40.4165;-3.70256;28223;Orange Espagne SA;orange.es", - Location{ + Address{ IP: "1.2.3.4", CountryCode: "ES", Country: "Spain", @@ -51,7 +51,7 @@ func TestParseCacheEntry(t *testing.T) { { "1.2.3.4", "US;United States of America;California;Mountain View", - Location{ + Address{ IP: "1.2.3.4", CountryCode: "US", Country: "United States of America", @@ -67,13 +67,13 @@ func TestParseCacheEntry(t *testing.T) { { "1.2.3.4", "DE;Germany;Free and Hanseatic City of Hamburg;Hamburg;53.5736;XXX", - Location{}, + Address{}, types.ErrInvalidCacheEntry, }, } for _, tt := range tests { - result, err := NewLocationFromString(tt.addr, tt.input) + result, err := NewAddressFromString(tt.addr, tt.input) if tt.err == nil { require.NoError(t, err) require.Equal(t, *result, tt.expected)