Browse Source

Merge pull request #5301

tags/v0.15.1
Jeff Garzik 5 years ago
parent
commit
e3560029ce
Failed to extract signature
1 changed files with 11 additions and 6 deletions
  1. 11
    6
      src/rest.cpp

+ 11
- 6
src/rest.cpp View File

@@ -11,6 +11,7 @@
#include "core/transaction.h"
#include "version.h"
#include "main.h"
#include "sync.h"

using namespace std;
using namespace json_spirit;
@@ -80,13 +81,17 @@ static bool rest_block(AcceptedConnection *conn,
if (!ParseHashStr(hashStr, hash))
throw RESTERR(HTTP_BAD_REQUEST, "Invalid hash: " + hashStr);

if (mapBlockIndex.count(hash) == 0)
throw RESTERR(HTTP_NOT_FOUND, hashStr + " not found");

CBlock block;
CBlockIndex* pblockindex = mapBlockIndex[hash];
if (!ReadBlockFromDisk(block, pblockindex))
throw RESTERR(HTTP_NOT_FOUND, hashStr + " not found");
CBlockIndex* pblockindex = NULL;
{
LOCK(cs_main);
if (mapBlockIndex.count(hash) == 0)
throw RESTERR(HTTP_NOT_FOUND, hashStr + " not found");

pblockindex = mapBlockIndex[hash];
if (!ReadBlockFromDisk(block, pblockindex))
throw RESTERR(HTTP_NOT_FOUND, hashStr + " not found");
}

CDataStream ssBlock(SER_NETWORK, PROTOCOL_VERSION);
ssBlock << block;

Loading…
Cancel
Save