Skip to content

Commit 546a5a7

Browse files
committed
Allow passing nil Config in resource.Download method
1 parent ad9f4c0 commit 546a5a7

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

arduino/resources/download.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@ func (r *DownloadResource) Download(downloadDir *paths.Path, config *downloader.
6060
}
6161

6262
func DownloadFile(path *paths.Path, URL string, label string, downloadCB DownloadProgressCB, config *downloader.Config, options ...downloader.DownloadOptions) error {
63+
if config == nil {
64+
if c, err := GetDownloaderConfig(); err != nil {
65+
return err
66+
} else {
67+
config = c
68+
}
69+
}
70+
6371
d, err := downloader.DownloadWithConfig(path.String(), URL, *config, options...)
6472
if err != nil {
6573
return err
@@ -86,8 +94,7 @@ func DownloadFile(path *paths.Path, URL string, label string, downloadCB Downloa
8694
return nil
8795
}
8896

89-
// GetDownloaderConfig returns the downloader configuration based on
90-
// current settings.
97+
// GetDownloaderConfig returns the downloader configuration based on current settings.
9198
func GetDownloaderConfig() (*downloader.Config, error) {
9299
httpClient, err := httpclient.New()
93100
if err != nil {

commands/instances.go

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -369,10 +369,6 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ
369369
if lm == nil {
370370
return &arduino.InvalidInstanceError{}
371371
}
372-
config, err := resources.GetDownloaderConfig()
373-
if err != nil {
374-
return err
375-
}
376372

377373
if err := lm.IndexFile.Parent().MkdirAll(); err != nil {
378374
return &arduino.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err}
@@ -388,14 +384,14 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ
388384
// Download gzipped library_index
389385
tmpIndexGz := tmp.Join("library_index.json.gz")
390386
tmpIndexURL := librariesmanager.LibraryIndexGZURL.String()
391-
if err := resources.DownloadFile(tmpIndexGz, tmpIndexURL, tr("Updating index: library_index.json.gz"), downloadCB.FromRPC(), config, downloader.NoResume); err != nil {
387+
if err := resources.DownloadFile(tmpIndexGz, tmpIndexURL, tr("Updating index: library_index.json.gz"), downloadCB.FromRPC(), nil, downloader.NoResume); err != nil {
392388
return &arduino.FailedDownloadError{Message: tr("Error downloading library_index.json.gz"), Cause: err}
393389
}
394390

395391
// Download signature
396392
tmpSignature := tmp.Join("library_index.json.sig")
397393
tmpSignatureURL := librariesmanager.LibraryIndexSignature.String()
398-
if err := resources.DownloadFile(tmpSignature, tmpSignatureURL, tr("Updating index: library_index.json.sig"), downloadCB.FromRPC(), config, downloader.NoResume); err != nil {
394+
if err := resources.DownloadFile(tmpSignature, tmpSignatureURL, tr("Updating index: library_index.json.sig"), downloadCB.FromRPC(), nil, downloader.NoResume); err != nil {
399395
return &arduino.FailedDownloadError{Message: tr("Error downloading library_index.json.sig"), Cause: err}
400396
}
401397

@@ -472,13 +468,8 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB Do
472468
}
473469
defer tmp.Remove()
474470

475-
config, err := resources.GetDownloaderConfig()
476-
if err != nil {
477-
return nil, &arduino.FailedDownloadError{Message: tr("Error downloading index '%s'", URL), Cause: err}
478-
}
479-
480471
coreIndexPath := indexpath.Join(path.Base(URL.Path))
481-
if err := resources.DownloadFile(tmp, URL.String(), tr("Updating index: %s", coreIndexPath.Base()), downloadCB.FromRPC(), config, downloader.NoResume); err != nil {
472+
if err := resources.DownloadFile(tmp, URL.String(), tr("Updating index: %s", coreIndexPath.Base()), downloadCB.FromRPC(), nil, downloader.NoResume); err != nil {
482473
return nil, &arduino.FailedDownloadError{Message: tr("Error downloading index '%s'", URL), Cause: err}
483474
}
484475

@@ -502,7 +493,7 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB Do
502493
defer tmpSig.Remove()
503494

504495
coreIndexSigPath = indexpath.Join(path.Base(URLSig.Path))
505-
if err := resources.DownloadFile(tmpSig, URLSig.String(), tr("Updating index: %s", coreIndexSigPath.Base()), downloadCB.FromRPC(), config, downloader.NoResume); err != nil {
496+
if err := resources.DownloadFile(tmpSig, URLSig.String(), tr("Updating index: %s", coreIndexSigPath.Base()), downloadCB.FromRPC(), nil, downloader.NoResume); err != nil {
506497
return nil, &arduino.FailedDownloadError{Message: tr("Error downloading index signature '%s'", URLSig), Cause: err}
507498
}
508499

0 commit comments

Comments
 (0)