refactor: Use STR_INTERNAL_BUG macro where possible
This ensures a uniform bug template and allows to drop includes and logic at the call sites.
This commit is contained in:
2 files changed
+5
-20
No files matched your search
+3
-13
@@ -1,10 +1,8 @@
|
|||||||
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
||||||
// Copyright (c) 2009-2022 The Bitcoin Core developers
|
// Copyright (c) 2009-present The Bitcoin Core developers
|
||||||
// Distributed under the MIT software license, see the accompanying
|
// Distributed under the MIT software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include <bitcoin-build-config.h> // IWYU pragma: keep
|
|
||||||
|
|
||||||
#include <rest.h>
|
#include <rest.h>
|
||||||
|
|
||||||
#include <blockfilter.h>
|
#include <blockfilter.h>
|
||||||
@@ -87,11 +85,7 @@ static NodeContext* GetNodeContext(const std::any& context, HTTPRequest* req)
|
|||||||
{
|
{
|
||||||
auto node_context = util::AnyPtr<NodeContext>(context);
|
auto node_context = util::AnyPtr<NodeContext>(context);
|
||||||
if (!node_context) {
|
if (!node_context) {
|
||||||
RESTERR(req, HTTP_INTERNAL_SERVER_ERROR,
|
RESTERR(req, HTTP_INTERNAL_SERVER_ERROR, STR_INTERNAL_BUG("Node context not found!"));
|
||||||
strprintf("%s:%d (%s)\n"
|
|
||||||
"Internal bug detected: Node context not found!\n"
|
|
||||||
"You may report this issue here: %s\n",
|
|
||||||
__FILE__, __LINE__, __func__, CLIENT_BUGREPORT));
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return node_context;
|
return node_context;
|
||||||
@@ -125,11 +119,7 @@ static ChainstateManager* GetChainman(const std::any& context, HTTPRequest* req)
|
|||||||
{
|
{
|
||||||
auto node_context = util::AnyPtr<NodeContext>(context);
|
auto node_context = util::AnyPtr<NodeContext>(context);
|
||||||
if (!node_context || !node_context->chainman) {
|
if (!node_context || !node_context->chainman) {
|
||||||
RESTERR(req, HTTP_INTERNAL_SERVER_ERROR,
|
RESTERR(req, HTTP_INTERNAL_SERVER_ERROR, STR_INTERNAL_BUG("Chainman disabled or instance not found!"));
|
||||||
strprintf("%s:%d (%s)\n"
|
|
||||||
"Internal bug detected: Chainman disabled or instance not found!\n"
|
|
||||||
"You may report this issue here: %s\n",
|
|
||||||
__FILE__, __LINE__, __func__, CLIENT_BUGREPORT));
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return node_context->chainman.get();
|
return node_context->chainman.get();
|
||||||
|
|||||||
+2
-7
@@ -2,10 +2,7 @@
|
|||||||
// Distributed under the MIT software license, see the accompanying
|
// Distributed under the MIT software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include <bitcoin-build-config.h> // IWYU pragma: keep
|
|
||||||
|
|
||||||
#include <chain.h>
|
#include <chain.h>
|
||||||
#include <clientversion.h>
|
|
||||||
#include <common/args.h>
|
#include <common/args.h>
|
||||||
#include <common/messages.h>
|
#include <common/messages.h>
|
||||||
#include <common/types.h>
|
#include <common/types.h>
|
||||||
@@ -678,10 +675,8 @@ UniValue RPCHelpMan::HandleRequest(const JSONRPCRequest& request) const
|
|||||||
mismatch.size() == 1 ? mismatch[0].write(4) :
|
mismatch.size() == 1 ? mismatch[0].write(4) :
|
||||||
mismatch.write(4)};
|
mismatch.write(4)};
|
||||||
throw std::runtime_error{
|
throw std::runtime_error{
|
||||||
strprintf("Internal bug detected: RPC call \"%s\" returned incorrect type:\n%s\n%s %s\nPlease report this issue here: %s\n",
|
STR_INTERNAL_BUG(strprintf("RPC call \"%s\" returned incorrect type:\n%s", m_name, explain)),
|
||||||
m_name, explain,
|
};
|
||||||
CLIENT_NAME, FormatFullVersion(),
|
|
||||||
CLIENT_BUGREPORT)};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in new issue
Block a user