diff --git a/src/ringdht/namedirectory.cpp b/src/ringdht/namedirectory.cpp index 2541d7835ca320bd0a026aeb2e8f7b0ff3c02ea3..ddf15b6cf67aafdbcdec7cf924bff2e8f5f19f09 100644 --- a/src/ringdht/namedirectory.cpp +++ b/src/ringdht/namedirectory.cpp @@ -115,7 +115,8 @@ void NameDirectory::lookupAddress(const std::string& addr, LookupCallback cb) auto ret = restbed::Http::async(req, [this,cb,addr](const std::shared_ptr<restbed::Request>&, const std::shared_ptr<restbed::Response>& reply) { - if (reply->get_status_code() == 200) { + auto code = reply->get_status_code(); + if (code == 200) { size_t length = getContentLength(*reply); if (length > MAX_RESPONSE_SIZE) { cb("", Response::error); @@ -142,6 +143,8 @@ void NameDirectory::lookupAddress(const std::string& addr, LookupCallback cb) } else { cb("", Response::notFound); } + } else if (code >= 400 && code < 500) { + cb("", Response::notFound); } else { cb("", Response::error); }