mirror of
https://github.com/gocsaf/csaf.git
synced 2025-12-22 11:55:40 +01:00
Factored feed loading out of the already too long uploading method.
This commit is contained in:
parent
14fc9cdc61
commit
4b7b93bd1d
1 changed files with 16 additions and 13 deletions
|
|
@ -143,6 +143,20 @@ func (c *controller) create(*http.Request) (interface{}, error) {
|
||||||
}, nil
|
}, 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) {
|
func (c *controller) upload(r *http.Request) (interface{}, error) {
|
||||||
|
|
||||||
newCSAF, data, err := c.loadCSAF(r)
|
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"
|
feedName := "csaf-feed-tlp-" + ts + ".json"
|
||||||
|
|
||||||
feed := filepath.Join(folder, feedName)
|
feed := filepath.Join(folder, feedName)
|
||||||
var rolie *csaf.ROLIEFeed
|
rolie, err := loadROLIEFeed(feed)
|
||||||
if err := func() error {
|
|
||||||
f, err := os.Open(feed)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
rolie, err = csaf.LoadROLIEFeed(f)
|
|
||||||
return err
|
|
||||||
}(); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue