未验证 提交 75a3bbf5 编写于 作者: A alexey-milovidov 提交者: GitHub

Merge pull request #13722 from javisantana/fix/replicas_status_verbose

return 200 when replicas status is ok and verbose = 1
......@@ -75,15 +75,18 @@ void ReplicasStatusHandler::handleRequest(Poco::Net::HTTPServerRequest & request
const auto & config = context.getConfigRef();
setResponseDefaultHeaders(response, config.getUInt("keep_alive_timeout", 10));
if (ok && !verbose)
if (!ok)
{
const char * data = "Ok.\n";
response.sendBuffer(data, strlen(data));
response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_SERVICE_UNAVAILABLE);
verbose = true;
}
if (verbose)
response.send() << message.rdbuf();
else
{
response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_SERVICE_UNAVAILABLE);
response.send() << message.rdbuf();
const char * data = "Ok.\n";
response.sendBuffer(data, strlen(data));
}
}
catch (...)
......
......@@ -121,8 +121,11 @@ def test_defaults_http_handlers():
assert 200 == cluster.instance.http_request('ping', method='GET').status_code
assert 'Ok.\n' == cluster.instance.http_request('ping', method='GET').content
assert 200 == cluster.instance.http_request('replicas_status', method='GET').status_code
assert 'Ok.\n' == cluster.instance.http_request('replicas_status', method='GET').content
assert 200 == cluster.instance.http_request('replicas_status', method='get').status_code
assert 'Ok.\n' == cluster.instance.http_request('replicas_status', method='get').content
assert 200 == cluster.instance.http_request('replicas_status?verbose=1', method='get').status_code
assert '' == cluster.instance.http_request('replicas_status?verbose=1', method='get').content
assert 200 == cluster.instance.http_request('?query=SELECT+1', method='GET').status_code
assert '1\n' == cluster.instance.http_request('?query=SELECT+1', method='GET').content
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册