From 4b7b93bd1dc4e648066a0482ba5f267d8df427fb Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Wed, 29 Jun 2022 18:57:06 +0200 Subject: [PATCH] Factored feed loading out of the already too long uploading method. --- cmd/csaf_provider/actions.go | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/cmd/csaf_provider/actions.go b/cmd/csaf_provider/actions.go index 137283a..37428c8 100644 --- a/cmd/csaf_provider/actions.go +++ b/cmd/csaf_provider/actions.go @@ -143,6 +143,20 @@ func (c *controller) create(*http.Request) (interface{}, error) { }, nil } +// loadROLIEFeed loads a ROLIE feed from file if its exists. +// Returns nil if the file does not exists. +func loadROLIEFeed(feed string) (*csaf.ROLIEFeed, error) { + f, err := os.Open(feed) + if err != nil { + if os.IsNotExist(err) { + return nil, nil + } + return nil, err + } + defer f.Close() + return csaf.LoadROLIEFeed(f) +} + func (c *controller) upload(r *http.Request) (interface{}, error) { newCSAF, data, err := c.loadCSAF(r) @@ -217,19 +231,8 @@ func (c *controller) upload(r *http.Request) (interface{}, error) { feedName := "csaf-feed-tlp-" + ts + ".json" feed := filepath.Join(folder, feedName) - var rolie *csaf.ROLIEFeed - if err := func() error { - f, err := os.Open(feed) - if err != nil { - if os.IsNotExist(err) { - return nil - } - return err - } - defer f.Close() - rolie, err = csaf.LoadROLIEFeed(f) - return err - }(); err != nil { + rolie, err := loadROLIEFeed(feed) + if err != nil { return err }