Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
get.cc
1 #include "get.h"
2 #include "crypto/keymanager.h"
3 #include "http/httpclient.h"
4 #include "storage/invstorage.h"
5 
6 std::string aktualizrGet(Config &config, const std::string &url, const std::vector<std::string> &headers) {
7  auto storage = INvStorage::newStorage(config.storage);
8  storage->importData(config.import);
9 
10  auto client = std_::make_unique<HttpClient>(&headers);
11  KeyManager keys(storage, config.keymanagerConfig());
12  keys.copyCertsToCurl(*client);
13  auto resp = client->get(url, HttpInterface::kNoLimit);
14  if (resp.http_status_code != 200) {
15  throw std::runtime_error("Unable to get " + url + ": HTTP_" + std::to_string(resp.http_status_code) + "\n" +
16  resp.body);
17  }
18  return resp.body;
19 }
KeyManager
Definition: keymanager.h:13
Config
Configuration object for an aktualizr instance running on a Primary ECU.
Definition: config.h:208