Skip to content

Commit 3eb94cc

Browse files
henrybarretogustavosbarreto
authored andcommitted
refactor(api): simplifying geoip initialization
1 parent 2964ca4 commit 3eb94cc

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

api/server.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -159,24 +159,24 @@ func startServer(ctx context.Context, cfg *config, store store.Store, cache stor
159159

160160
servicesOptions := []services.Option{}
161161

162-
if cfg.GeoipMirror != "" {
163-
log.Info("GeoIP feature is enable")
162+
var fetcher geolite2.GeoliteFetcher
164163

165-
locator, err := geolite2.NewLocator(ctx, geolite2.FetchFromMirror(cfg.GeoipMirror))
166-
if err != nil {
167-
log.WithError(err).Fatal("Failed to init GeoIP")
168-
} else {
169-
servicesOptions = append(servicesOptions, services.WithLocator(locator))
170-
}
171-
} else if cfg.GeoipMaxmindLicense != "" {
172-
log.Info("GeoIP feature is enable")
164+
switch {
165+
case cfg.GeoipMirror != "":
166+
fetcher = geolite2.FetchFromMirror(cfg.GeoipMirror)
167+
case cfg.GeoipMaxmindLicense != "":
168+
fetcher = geolite2.FetchFromLicenseKey(cfg.GeoipMaxmindLicense)
169+
}
173170

174-
locator, err := geolite2.NewLocator(ctx, geolite2.FetchFromLicenseKey(cfg.GeoipMaxmindLicense))
171+
if fetcher != nil {
172+
locator, err := geolite2.NewLocator(ctx, fetcher)
175173
if err != nil {
176174
log.WithError(err).Fatal("Failed to init GeoIP")
177-
} else {
178-
servicesOptions = append(servicesOptions, services.WithLocator(locator))
179175
}
176+
177+
servicesOptions = append(servicesOptions, services.WithLocator(locator))
178+
179+
log.Info("GeoIP feature is enable")
180180
}
181181

182182
service := services.NewService(store, nil, nil, cache, apiClient, servicesOptions...)

0 commit comments

Comments
 (0)