chore(sources): wrap error with source string
This commit is contained in:
2
internal/configuration/sources/env/reader.go
vendored
2
internal/configuration/sources/env/reader.go
vendored
@@ -23,6 +23,8 @@ func New(warner Warner) *Reader {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Reader) String() string { return "environment variables" }
|
||||
|
||||
func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||
settings.VPN, err = r.readVPN()
|
||||
if err != nil {
|
||||
|
||||
@@ -13,6 +13,8 @@ func New() *Reader {
|
||||
return &Reader{}
|
||||
}
|
||||
|
||||
func (r *Reader) String() string { return "files" }
|
||||
|
||||
func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||
settings.VPN, err = r.readVPN()
|
||||
if err != nil {
|
||||
|
||||
@@ -2,6 +2,7 @@ package mux
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/configuration/sources"
|
||||
@@ -19,6 +20,14 @@ func New(sources ...sources.Source) *Reader {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Reader) String() string {
|
||||
sources := make([]string, len(r.sources))
|
||||
for i := range r.sources {
|
||||
sources[i] = r.sources[i].String()
|
||||
}
|
||||
return strings.Join(sources, ", ")
|
||||
}
|
||||
|
||||
// Read reads the settings for each source, merging unset fields
|
||||
// with field set by the next source.
|
||||
// It then set defaults to remaining unset fields.
|
||||
@@ -26,7 +35,7 @@ func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||
for _, source := range r.sources {
|
||||
settingsFromSource, err := source.Read()
|
||||
if err != nil {
|
||||
return settings, fmt.Errorf("reading from source %T: %w", source, err)
|
||||
return settings, fmt.Errorf("reading from %s: %w", source, err)
|
||||
}
|
||||
settings.MergeWith(settingsFromSource)
|
||||
}
|
||||
@@ -42,7 +51,7 @@ func (r *Reader) ReadHealth() (settings settings.Health, err error) {
|
||||
for _, source := range r.sources {
|
||||
settingsFromSource, err := source.ReadHealth()
|
||||
if err != nil {
|
||||
return settings, fmt.Errorf("reading from source %T: %w", source, err)
|
||||
return settings, fmt.Errorf("reading from %s: %w", source, err)
|
||||
}
|
||||
settings.MergeWith(settingsFromSource)
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@ func New() *Reader {
|
||||
return &Reader{}
|
||||
}
|
||||
|
||||
func (r *Reader) String() string { return "secret files" }
|
||||
|
||||
func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||
settings.VPN, err = readVPN()
|
||||
if err != nil {
|
||||
|
||||
@@ -5,4 +5,5 @@ import "github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
type Source interface {
|
||||
Read() (settings settings.Settings, err error)
|
||||
ReadHealth() (settings settings.Health, err error)
|
||||
String() string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user