proxy-pool/internal/config/load.go

23 lines
379 B
Go

package config
import (
"fmt"
"io"
"go.yaml.in/yaml/v4"
)
func Load(reader io.Reader) (*Config, error) {
decoder := yaml.NewDecoder(reader)
decoder.KnownFields(true)
var cfg Config
if err := decoder.Decode(&cfg); err != nil {
return nil, fmt.Errorf("decode configuration: %w", err)
}
if err := Validate(&cfg); err != nil {
return nil, err
}
return &cfg, nil
}