diff --git a/pkg/envoy/directory/decode.go b/pkg/envoy/directory/decode.go index 1edc82e97..24a699109 100644 --- a/pkg/envoy/directory/decode.go +++ b/pkg/envoy/directory/decode.go @@ -13,7 +13,7 @@ import ( type ( decoder interface { CanDecodeFile(os.FileInfo) bool - Decode(context.Context, io.Reader, os.FileInfo) ([]resource.Interface, error) + Decode(context.Context, io.Reader) ([]resource.Interface, error) } ) @@ -61,8 +61,8 @@ func Decode(ctx context.Context, path string, decoders ...decoder) ([]resource.I } defer f.Close() - if dnn, err = d.Decode(ctx, f, info); err != nil { - return err + if dnn, err = d.Decode(ctx, f); err != nil { + return fmt.Errorf("failed to decode %s: %w", info.Name(), err) } nn = append(nn, dnn...) diff --git a/pkg/envoy/yaml/decoder.go b/pkg/envoy/yaml/decoder.go index ad9d7aba1..e75a7c2ac 100644 --- a/pkg/envoy/yaml/decoder.go +++ b/pkg/envoy/yaml/decoder.go @@ -2,7 +2,6 @@ package yaml import ( "context" - "fmt" "io" "os" "path/filepath" @@ -14,25 +13,19 @@ import ( type ( // decoder is a wrapper struct for yaml related methods - decoder struct { - loader loader - } - - loader interface { - LoadComposeNamespace() - } + decoder struct{} EnvoyMarshler interface { MarshalEnvoy() ([]resource.Interface, error) } nodeDecoder interface { - DecodeNodes(ctx context.Context, l loader) ([]resource.Interface, error) + DecodeNodes(ctx context.Context) ([]resource.Interface, error) } ) -func Decoder(l loader) *decoder { - return &decoder{l} +func Decoder() *decoder { + return &decoder{} } // CanDecodeFile @@ -45,14 +38,14 @@ func (y *decoder) CanDecodeFile(i os.FileInfo) bool { return false } -func (y *decoder) Decode(ctx context.Context, r io.Reader, i os.FileInfo) ([]resource.Interface, error) { +func (y *decoder) Decode(ctx context.Context, r io.Reader) ([]resource.Interface, error) { var ( doc = &Document{} ) if err := yaml.NewDecoder(r).Decode(doc); err != nil { - return nil, fmt.Errorf("failed to decode %s: %w", i.Name(), err) + return nil, err } - return doc.Decode(ctx, y.loader) + return doc.Decode(ctx) } diff --git a/pkg/envoy/yaml/document.go b/pkg/envoy/yaml/document.go index a0213e232..1b56ab170 100644 --- a/pkg/envoy/yaml/document.go +++ b/pkg/envoy/yaml/document.go @@ -50,7 +50,7 @@ func (doc *Document) UnmarshalYAML(n *yaml.Node) (err error) { } // -func (doc *Document) Decode(ctx context.Context, l loader) ([]resource.Interface, error) { +func (doc *Document) Decode(ctx context.Context) ([]resource.Interface, error) { nn := make([]resource.Interface, 0, 100) mm := make([]envoy.Marshaller, 0, 20) diff --git a/tests/envoy/main.go b/tests/envoy/main.go index 44f6bbf46..bd994bca4 100644 --- a/tests/envoy/main.go +++ b/tests/envoy/main.go @@ -56,18 +56,13 @@ func yd(ctx context.Context, suite, fname string) ([]resource.Interface, error) } defer f.Close() - info, err := os.Stat(fp) - if err != nil { - return nil, err - } - - d := yaml.Decoder(nil) - return d.Decode(ctx, f, info) + d := yaml.Decoder() + return d.Decode(ctx, f) } func dd(ctx context.Context, suite string) ([]resource.Interface, error) { fp := path.Join("testdata", suite) - d := yaml.Decoder(nil) + d := yaml.Decoder() return directory.Decode(ctx, fp, d) }