chore(publicip): refactoring

- Exported `Fetcher` interface
- Inject `Fetcher` to publicip loop and updaters
- Get public IP and information at the same time
- Only query ipinfo.io
- Make `MultiInfo` part of the `Fetch` object
This commit is contained in:
Quentin McGaw
2022-06-12 00:09:01 +00:00
parent 45c9e780c0
commit 83b4a3fe55
19 changed files with 101 additions and 155 deletions

View File

@@ -23,6 +23,7 @@ type stateManager interface {
SetSettings(ctx context.Context, settings settings.PublicIP) (outcome string)
}
type fetcher interface {
FetchPublicIP(ctx context.Context) (ip net.IP, err error)
type Fetcher interface {
FetchInfo(ctx context.Context, ip net.IP) (
result publicipmodels.IPInfoData, err error)
}