1
0
Fork 0

Bug fix/better error message in case something goes wrong http wise (#8670)

This commit is contained in:
Jan 2019-04-03 18:44:10 +02:00 committed by GitHub
parent 98aaa82048
commit d1d1fe555b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 9 deletions

View File

@ -569,9 +569,14 @@ Result buildHttpError(httpclient::SimpleHttpResult* response,
if (response == nullptr || !response->isComplete()) { if (response == nullptr || !response->isComplete()) {
std::string errorMsg; std::string errorMsg;
connection.lease([&errorMsg](httpclient::SimpleHttpClient* client) { connection.lease([&errorMsg, &response](httpclient::SimpleHttpClient* client) {
errorMsg = client->getErrorMessage(); errorMsg = client->getErrorMessage();
}); });
if (errorMsg.empty() && response != nullptr) {
errorMsg = "HTTP " + basics::StringUtils::itoa(response->getHttpReturnCode()) +
": " + response->getHttpReturnMessage() + " - " +
response->getBody().toString();
}
return Result(TRI_ERROR_REPLICATION_NO_RESPONSE, return Result(TRI_ERROR_REPLICATION_NO_RESPONSE,
std::string("could not connect to master at ") + std::string("could not connect to master at ") +
connection.endpoint() + " for URL " + url + ": " + errorMsg); connection.endpoint() + " for URL " + url + ": " + errorMsg);

View File

@ -36,16 +36,23 @@ void GreetingsFeature::prepare() {
LOG_TOPIC("e52b0", INFO, arangodb::Logger::FIXME) LOG_TOPIC("e52b0", INFO, arangodb::Logger::FIXME)
<< "" << rest::Version::getVerboseVersionString(); << "" << rest::Version::getVerboseVersionString();
// building in maintainer mode or enabling catch test code will incur runtime overhead,
// so warn users about this
bool warn = false;
#ifdef ARANGODB_ENABLE_MAINTAINER_MODE #ifdef ARANGODB_ENABLE_MAINTAINER_MODE
LOG_TOPIC("0458b", WARN, arangodb::Logger::FIXME) warn = true;
<< "=========================================================="; #else
LOG_TOPIC("12670", WARN, arangodb::Logger::FIXME) #ifdef ARANGODB_USE_CATCH_TESTS
<< "== This is a maintainer version intended for debugging. =="; warn = true;
LOG_TOPIC("e7f25", WARN, arangodb::Logger::FIXME)
<< "== DO NOT USE IN PRODUCTION! ==";
LOG_TOPIC("bd666", WARN, arangodb::Logger::FIXME)
<< "==========================================================";
#endif #endif
#endif
if (warn) {
LOG_TOPIC("0458b", WARN, arangodb::Logger::FIXME)
<< "This is a maintainer version intended for debugging. DO NOT USE IN PRODUCTION!";
LOG_TOPIC("bd666", WARN, arangodb::Logger::FIXME)
<< "==============================================================================";
}
} }
void GreetingsFeature::unprepare() { void GreetingsFeature::unprepare() {