@@ -463,6 +463,17 @@ class NetinfoRequestHandler : public BaseRequestHandler
463
463
}
464
464
return str;
465
465
}
466
+ static std::string ServicesList (const UniValue& services)
467
+ {
468
+ std::string str{services.size () ? services[0 ].get_str () : " " };
469
+ for (size_t i{1 }; i < services.size (); ++i) {
470
+ str += " , " + services[i].get_str ();
471
+ }
472
+ for (auto & c: str) {
473
+ c = (c == ' _' ? ' ' : ToLower (c));
474
+ }
475
+ return str;
476
+ }
466
477
467
478
public:
468
479
static constexpr int ID_PEERINFO = 0 ;
@@ -555,7 +566,8 @@ class NetinfoRequestHandler : public BaseRequestHandler
555
566
}
556
567
557
568
// Generate report header.
558
- std::string result{strprintf (" %s client %s%s - server %i%s\n\n " , CLIENT_NAME, FormatFullVersion (), ChainToString (), networkinfo[" protocolversion" ].getInt <int >(), networkinfo[" subversion" ].get_str ())};
569
+ const std::string services{DetailsRequested () ? strprintf (" - services %s" , FormatServices (networkinfo[" localservicesnames" ])) : " " };
570
+ std::string result{strprintf (" %s client %s%s - server %i%s%s\n\n " , CLIENT_NAME, FormatFullVersion (), ChainToString (), networkinfo[" protocolversion" ].getInt <int >(), networkinfo[" subversion" ].get_str (), services)};
559
571
560
572
// Report detailed peer connections list sorted by direction and minimum ping time.
561
573
if (DetailsRequested () && !m_peers.empty ()) {
@@ -636,7 +648,10 @@ class NetinfoRequestHandler : public BaseRequestHandler
636
648
}
637
649
}
638
650
639
- // Report local addresses, ports, and scores.
651
+ // Report local services, addresses, ports, and scores.
652
+ if (!DetailsRequested ()) {
653
+ result += strprintf (" \n\n Local services: %s" , ServicesList (networkinfo[" localservicesnames" ]));
654
+ }
640
655
result += " \n\n Local addresses" ;
641
656
const std::vector<UniValue>& local_addrs{networkinfo[" localaddresses" ].getValues ()};
642
657
if (local_addrs.empty ()) {
0 commit comments