forked from lix-project/lix
nix store ping: add --json flag
This commit is contained in:
parent
c79b1582a7
commit
28648ed784
|
@ -2,9 +2,11 @@
|
||||||
#include "shared.hh"
|
#include "shared.hh"
|
||||||
#include "store-api.hh"
|
#include "store-api.hh"
|
||||||
|
|
||||||
|
#include <nlohmann/json.hpp>
|
||||||
|
|
||||||
using namespace nix;
|
using namespace nix;
|
||||||
|
|
||||||
struct CmdPingStore : StoreCommand
|
struct CmdPingStore : StoreCommand, MixJSON
|
||||||
{
|
{
|
||||||
std::string description() override
|
std::string description() override
|
||||||
{
|
{
|
||||||
|
@ -20,10 +22,19 @@ struct CmdPingStore : StoreCommand
|
||||||
|
|
||||||
void run(ref<Store> store) override
|
void run(ref<Store> store) override
|
||||||
{
|
{
|
||||||
|
if (!json) {
|
||||||
notice("Store URL: %s", store->getUri());
|
notice("Store URL: %s", store->getUri());
|
||||||
store->connect();
|
store->connect();
|
||||||
if (auto version = store->getVersion())
|
if (auto version = store->getVersion())
|
||||||
notice("Version: %s", *version);
|
notice("Version: %s", *version);
|
||||||
|
} else {
|
||||||
|
nlohmann::json res;
|
||||||
|
res["url"] = store->getUri();
|
||||||
|
store->connect();
|
||||||
|
if (auto version = store->getVersion())
|
||||||
|
res["version"] = *version;
|
||||||
|
logger->cout("%s", res);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue