diff --git a/src/dht_proxy_server.cpp b/src/dht_proxy_server.cpp index b87ef9f0..915830b8 100644 --- a/src/dht_proxy_server.cpp +++ b/src/dht_proxy_server.cpp @@ -524,9 +524,11 @@ DhtProxyServer::get(restinio::request_handle_t request, auto response = std::make_shared( initHttpResponse(request->create_response())); response->flush(); - dht_->get(infoHash, [this, response](const Sp& value){ - auto output = Json::writeString(jsonBuilder_, value->toJson()) + "\n"; - response->append_chunk(output); + dht_->get(infoHash, [this, response](const std::vector>& values) { + for (const auto& value : values) { + auto output = Json::writeString(jsonBuilder_, value->toJson()) + "\n"; + response->append_chunk(output); + } response->flush(); return true; }, @@ -1093,9 +1095,8 @@ DhtProxyServer::putEncrypted(restinio::request_handle_t request, auto value = std::make_shared(root); dht_->putEncrypted(infoHash, to, value, [this, request, value](bool ok){ if (ok){ - auto output = Json::writeString(jsonBuilder_, value->toJson()) + "\n"; auto response = initHttpResponse(request->create_response()); - response.append_body(output); + response.append_body(Json::writeString(jsonBuilder_, value->toJson()) + "\n"); response.done(); } else { auto response = initHttpResponse(request->create_response(restinio::status_bad_gateway()));