func Download(client *tuf.Client, path string) (io.ReadCloser, error) { tmp, err := NewTempFile() if err != nil { return nil, err } if err := client.Download(path, tmp); err != nil { return nil, err } if _, err := tmp.Seek(0, os.SEEK_SET); err != nil { return nil, err } return tmp, nil }
func cmdGet(args *docopt.Args, client *tuf.Client) error { if _, err := client.Update(); err != nil && !tuf.IsLatestSnapshot(err) { return err } target := util.NormalizeTarget(args.String["<target>"]) file, err := ioutil.TempFile("", "go-tuf") if err != nil { return err } tmp := tmpFile{file} if err := client.Download(target, &tmp); err != nil { return err } defer tmp.Delete() if _, err := tmp.Seek(0, os.SEEK_SET); err != nil { return err } _, err = io.Copy(os.Stdout, file) return err }