mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-17 13:07:54 +02:00
When people ask us for headers we do not have (over REST or RPC), do something reasonable.
This commit is contained in:
parent
4f0da3ce3d
commit
f5c79950a1
4 changed files with 62 additions and 11 deletions
19
src/rest.cpp
19
src/rest.cpp
|
|
@ -221,7 +221,14 @@ static bool rest_headers(const std::any& context,
|
|||
case RetFormat::BINARY: {
|
||||
CDataStream ssHeader(SER_NETWORK, PROTOCOL_VERSION);
|
||||
for (const CBlockIndex *pindex : headers) {
|
||||
ssHeader << pindex->GetBlockHeader();
|
||||
if (pindex->trimmed()) {
|
||||
CBlockHeader tmp;
|
||||
ReadBlockHeaderFromDisk(tmp, pindex, Params().GetConsensus());
|
||||
ssHeader << tmp;
|
||||
|
||||
} else {
|
||||
ssHeader << pindex->GetBlockHeader();
|
||||
}
|
||||
}
|
||||
|
||||
std::string binaryHeader = ssHeader.str();
|
||||
|
|
@ -233,8 +240,14 @@ static bool rest_headers(const std::any& context,
|
|||
case RetFormat::HEX: {
|
||||
CDataStream ssHeader(SER_NETWORK, PROTOCOL_VERSION);
|
||||
for (const CBlockIndex *pindex : headers) {
|
||||
ssHeader << pindex->GetBlockHeader();
|
||||
}
|
||||
if (pindex->trimmed()) {
|
||||
CBlockHeader tmp;
|
||||
ReadBlockHeaderFromDisk(tmp, pindex, Params().GetConsensus());
|
||||
ssHeader << tmp;
|
||||
|
||||
} else {
|
||||
ssHeader << pindex->GetBlockHeader();
|
||||
} }
|
||||
|
||||
std::string strHex = HexStr(ssHeader) + "\n";
|
||||
req->WriteHeader("Content-Type", "text/plain");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue