فهرست منبع

fix http return value from one service when nework list is empty

Grant Limberg 3 سال پیش
والد
کامیت
ecde26c823
1فایلهای تغییر یافته به همراه22 افزوده شده و 27 حذف شده
  1. 22 27
      service/OneService.cpp

+ 22 - 27
service/OneService.cpp

@@ -1577,37 +1577,32 @@ public:
 					}
 				} else if (ps[0] == "network") {
 					Mutex::Lock _l(_nets_m);
-					if (!_nets.empty()) {
-						if (ps.size() == 1) {
-							// Return [array] of all networks
-
-							res = nlohmann::json::array();
-							
-							for (auto it = _nets.begin(); it != _nets.end(); ++it) {
-								NetworkState &ns = it->second;
-								nlohmann::json nj;
-								_networkToJson(nj, ns);
-								res.push_back(nj);
-							}
+					if (ps.size() == 1) {
+						// Return [array] of all networks
+
+						res = nlohmann::json::array();
+						
+						for (auto it = _nets.begin(); it != _nets.end(); ++it) {
+							NetworkState &ns = it->second;
+							nlohmann::json nj;
+							_networkToJson(nj, ns);
+							res.push_back(nj);
+						}
 
+						scode = 200;
+					} else if (ps.size() == 2) {
+						// Return a single network by ID or 404 if not found
+
+						const uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str());
+						if (_nets.find(wantnw) != _nets.end()) {
+							res = json::object();
+							NetworkState& ns = _nets[wantnw];
+							_networkToJson(res, ns);
 							scode = 200;
-						} else if (ps.size() == 2) {
-							// Return a single network by ID or 404 if not found
-
-							const uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str());
-							if (_nets.find(wantnw) != _nets.end()) {
-								res = json::object();
-								NetworkState& ns = _nets[wantnw];
-								_networkToJson(res, ns);
-								scode = 200;
-							}
-						} else {
-							fprintf(stderr, "not found\n");
-							scode = 404;
 						}
 					} else {
-						fprintf(stderr, "_nets is empty??\n");
-						scode = 500;
+						fprintf(stderr, "not found\n");
+						scode = 404;
 					}
 				} else if (ps[0] == "peer") {
 					ZT_PeerList *pl = _node->peers();