diff options
| author | Wladimir J. van der Laan <[email protected]> | 2014-12-11 10:32:36 +0100 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2014-12-11 10:33:11 +0100 |
| commit | 5e521d3e4ed8467b147179af0814b3b4de92e9e3 (patch) | |
| tree | 265375ce7d9e1113bd6eb89319ae21bc62a00b34 /src/rest.cpp | |
| parent | Merge pull request #5399 (diff) | |
| parent | [REST] JSON output: remove block infos from tx details if it is nested in block (diff) | |
| download | discoin-5e521d3e4ed8467b147179af0814b3b4de92e9e3.tar.xz discoin-5e521d3e4ed8467b147179af0814b3b4de92e9e3.zip | |
Merge pull request #5391
932ef50 [REST] JSON output: remove block infos from tx details if it is nested in block (Jonas Schnelli)
cae5486 [REST] added /rest/block/notxdetails/<hash> into REST-interface.md documentation (Jonas Schnelli)
73351c3 [REST] /rest/block response with full tx details (Jonas Schnelli)
Diffstat (limited to 'src/rest.cpp')
| -rw-r--r-- | src/rest.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/rest.cpp b/src/rest.cpp index 6285784af..6329b44c5 100644 --- a/src/rest.cpp +++ b/src/rest.cpp @@ -42,7 +42,7 @@ public: }; extern void TxToJSON(const CTransaction& tx, const uint256 hashBlock, Object& entry); -extern Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex); +extern Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool txDetails = false); static RestErr RESTERR(enum HTTPStatusCode status, string message) { @@ -92,7 +92,8 @@ static bool ParseHashStr(const string& strReq, uint256& v) static bool rest_block(AcceptedConnection* conn, string& strReq, map<string, string>& mapHeaders, - bool fRun) + bool fRun, + bool showTxDetails) { vector<string> params; enum RetFormat rf = ParseDataFormat(params, strReq); @@ -131,7 +132,7 @@ static bool rest_block(AcceptedConnection* conn, } case RF_JSON: { - Object objBlock = blockToJSON(block, pblockindex); + Object objBlock = blockToJSON(block, pblockindex, showTxDetails); string strJSON = write_string(Value(objBlock), false) + "\n"; conn->stream() << HTTPReply(HTTP_OK, strJSON, fRun) << std::flush; return true; @@ -146,6 +147,22 @@ static bool rest_block(AcceptedConnection* conn, return true; // continue to process further HTTP reqs on this cxn } +static bool rest_block_extended(AcceptedConnection* conn, + string& strReq, + map<string, string>& mapHeaders, + bool fRun) +{ + return rest_block(conn, strReq, mapHeaders, fRun, true); +} + +static bool rest_block_notxdetails(AcceptedConnection* conn, + string& strReq, + map<string, string>& mapHeaders, + bool fRun) +{ + return rest_block(conn, strReq, mapHeaders, fRun, false); +} + static bool rest_tx(AcceptedConnection* conn, string& strReq, map<string, string>& mapHeaders, @@ -205,7 +222,8 @@ static const struct { bool fRun); } uri_prefixes[] = { {"/rest/tx/", rest_tx}, - {"/rest/block/", rest_block}, + {"/rest/block/notxdetails/", rest_block_notxdetails}, + {"/rest/block/", rest_block_extended}, }; bool HTTPReq_REST(AcceptedConnection* conn, |