Aktualizr
C++ SOTA Client
fetcher.cc
1 #include "fetcher.h"
2 
3 #include "uptane/exceptions.h"
4 
5 namespace Uptane {
6 
7 void Fetcher::fetchRole(std::string* result, int64_t maxsize, RepositoryType repo, const Uptane::Role& role,
8  Version version) const {
9  std::string url = (repo == RepositoryType::Director()) ? director_server : repo_server;
10  if (role.IsDelegation()) {
11  url += "/delegations";
12  }
13  url += "/" + version.RoleFileName(role);
14  HttpResponse response = http->get(url, maxsize);
15  if (!response.isOk()) {
16  throw Uptane::MetadataFetchFailure(repo.toString(), role.ToString());
17  }
18  *result = response.body;
19 }
20 
21 } // namespace Uptane
HttpResponse
Definition: httpinterface.h:17
Uptane::MetadataFetchFailure
Definition: exceptions.h:21
result
Results of libaktualizr API calls.
Definition: results.h:12
Uptane::Role
TUF Roles.
Definition: tuf.h:61
Uptane
Base data types that are used in The Update Framework (TUF), part of Uptane.
Definition: packagemanagerinterface.h:18