code refactor

This commit is contained in:
MaysWind
2025-09-20 02:08:39 +08:00
parent 51678aee04
commit d50ce0140f
2 changed files with 12 additions and 7 deletions
@@ -2,7 +2,6 @@ package exchangerates
import ( import (
"crypto/tls" "crypto/tls"
"fmt"
"io" "io"
"net/http" "net/http"
"sort" "sort"
@@ -59,7 +58,7 @@ func (e *CommonHttpExchangeRatesDataSource) GetLatestExchangeRates(c core.Contex
req := requests[i] req := requests[i]
if len(req.Header.Values("User-Agent")) < 1 { if len(req.Header.Values("User-Agent")) < 1 {
req.Header.Set("User-Agent", fmt.Sprintf("ezBookkeeping/%s", settings.Version)) req.Header.Set("User-Agent", settings.GetUserAgent())
} else if req.Header.Get("User-Agent") == "" { } else if req.Header.Get("User-Agent") == "" {
req.Header.Del("User-Agent") req.Header.Del("User-Agent")
} }
@@ -71,16 +70,16 @@ func (e *CommonHttpExchangeRatesDataSource) GetLatestExchangeRates(c core.Contex
return nil, errs.ErrFailedToRequestRemoteApi return nil, errs.ErrFailedToRequestRemoteApi
} }
if resp.StatusCode != 200 {
log.Errorf(c, "[http_exchange_rates_datasource.GetLatestExchangeRates] failed to get latest exchange rate data response for user \"uid:%d\", because response code is not 200", uid)
return nil, errs.ErrFailedToRequestRemoteApi
}
defer resp.Body.Close() defer resp.Body.Close()
body, err := io.ReadAll(resp.Body) body, err := io.ReadAll(resp.Body)
log.Debugf(c, "[http_exchange_rates_datasource.GetLatestExchangeRates] response#%d is %s", i, body) log.Debugf(c, "[http_exchange_rates_datasource.GetLatestExchangeRates] response#%d is %s", i, body)
if resp.StatusCode != 200 {
log.Errorf(c, "[http_exchange_rates_datasource.GetLatestExchangeRates] failed to get latest exchange rate data response for user \"uid:%d\", because response code is not %d", uid, resp.StatusCode)
return nil, errs.ErrFailedToRequestRemoteApi
}
exchangeRateResp, err := e.dataSource.Parse(c, body) exchangeRateResp, err := e.dataSource.Parse(c, body)
if err != nil { if err != nil {
+6
View File
@@ -1,5 +1,7 @@
package settings package settings
import "fmt"
// ConfigContainer contains the current setting config // ConfigContainer contains the current setting config
type ConfigContainer struct { type ConfigContainer struct {
current *Config current *Config
@@ -22,3 +24,7 @@ func SetCurrentConfig(config *Config) {
func (c *ConfigContainer) GetCurrentConfig() *Config { func (c *ConfigContainer) GetCurrentConfig() *Config {
return c.current return c.current
} }
func GetUserAgent() string {
return fmt.Sprintf("ezBookkeeping/%s", Version)
}