1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
wtf/modules/finnhub/finnhub.go
2020-10-16 23:18:02 +01:00

38 lines
718 B
Go

package finnhub
import (
"fmt"
"encoding/json"
"github.com/gorilla/websocket"
)
func FetchExchangeRates(settings *Settings) (map[string]map[string]float64, error) {
out := map[string]map[string]float64{}
for base, rates := range settings.rates {
resp, err := http.Get(fmt.Sprintf("https://api.exchangeratesapi.io/latest?base=%s", base))
if err != nil {
return nil, err
}
defer func() { _ = resp.Body.Close() }()
var data Response
err = utils.ParseJSON(&data, resp.Body)
if err != nil {
return nil, err
}
out[base] = map[string]float64{}
for _, currency := range rates {
rate, ok := data.Rates[currency]
if ok {
out[base][currency] = rate
}
}
}
return out, nil
}