Skip to content

Commit 82a9d92

Browse files
authored
Merge pull request #894 from evoskuil/master
Adapt explore parser to network IF change, stub handlers.
2 parents d485d45 + 139b529 commit 82a9d92

File tree

19 files changed

+504
-330
lines changed

19 files changed

+504
-330
lines changed

Makefile.am

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ src_libbitcoin_node_la_SOURCES = \
5353
src/chasers/chaser_template.cpp \
5454
src/chasers/chaser_transaction.cpp \
5555
src/chasers/chaser_validate.cpp \
56+
src/parse/query.cpp \
57+
src/parse/target.cpp \
5658
src/protocols/protocol.cpp \
5759
src/protocols/protocol_block_in_106.cpp \
5860
src/protocols/protocol_block_in_31800.cpp \
@@ -70,8 +72,6 @@ src_libbitcoin_node_la_SOURCES = \
7072
src/protocols/protocol_performer.cpp \
7173
src/protocols/protocol_transaction_in_106.cpp \
7274
src/protocols/protocol_transaction_out_106.cpp \
73-
src/rest/media.cpp \
74-
src/rest/parse.cpp \
7575
src/sessions/session.cpp \
7676
src/sessions/session_inbound.cpp \
7777
src/sessions/session_manual.cpp \
@@ -107,9 +107,9 @@ test_libbitcoin_node_test_SOURCES = \
107107
test/chasers/chaser_template.cpp \
108108
test/chasers/chaser_transaction.cpp \
109109
test/chasers/chaser_validate.cpp \
110+
test/parse/query.cpp \
111+
test/parse/target.cpp \
110112
test/protocols/protocol.cpp \
111-
test/rest/media.cpp \
112-
test/rest/parse.cpp \
113113
test/sessions/session.cpp
114114

115115
endif WITH_TESTS
@@ -200,6 +200,12 @@ include_bitcoin_node_impl_chasersdir = ${includedir}/bitcoin/node/impl/chasers
200200
include_bitcoin_node_impl_chasers_HEADERS = \
201201
include/bitcoin/node/impl/chasers/chaser_organize.ipp
202202

203+
include_bitcoin_node_parsedir = ${includedir}/bitcoin/node/parse
204+
include_bitcoin_node_parse_HEADERS = \
205+
include/bitcoin/node/parse/parse.hpp \
206+
include/bitcoin/node/parse/query.hpp \
207+
include/bitcoin/node/parse/target.hpp
208+
203209
include_bitcoin_node_protocolsdir = ${includedir}/bitcoin/node/protocols
204210
include_bitcoin_node_protocols_HEADERS = \
205211
include/bitcoin/node/protocols/protocol.hpp \
@@ -229,11 +235,6 @@ include_bitcoin_node_protocols_HEADERS = \
229235
include/bitcoin/node/protocols/protocol_ws.hpp \
230236
include/bitcoin/node/protocols/protocols.hpp
231237

232-
include_bitcoin_node_restdir = ${includedir}/bitcoin/node/rest
233-
include_bitcoin_node_rest_HEADERS = \
234-
include/bitcoin/node/rest/media.hpp \
235-
include/bitcoin/node/rest/parse.hpp
236-
237238
include_bitcoin_node_sessionsdir = ${includedir}/bitcoin/node/sessions
238239
include_bitcoin_node_sessions_HEADERS = \
239240
include/bitcoin/node/sessions/session.hpp \

builds/cmake/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,8 @@ add_library( ${CANONICAL_LIB_NAME}
265265
"../../src/chasers/chaser_template.cpp"
266266
"../../src/chasers/chaser_transaction.cpp"
267267
"../../src/chasers/chaser_validate.cpp"
268+
"../../src/parse/query.cpp"
269+
"../../src/parse/target.cpp"
268270
"../../src/protocols/protocol.cpp"
269271
"../../src/protocols/protocol_block_in_106.cpp"
270272
"../../src/protocols/protocol_block_in_31800.cpp"
@@ -282,8 +284,6 @@ add_library( ${CANONICAL_LIB_NAME}
282284
"../../src/protocols/protocol_performer.cpp"
283285
"../../src/protocols/protocol_transaction_in_106.cpp"
284286
"../../src/protocols/protocol_transaction_out_106.cpp"
285-
"../../src/rest/media.cpp"
286-
"../../src/rest/parse.cpp"
287287
"../../src/sessions/session.cpp"
288288
"../../src/sessions/session_inbound.cpp"
289289
"../../src/sessions/session_manual.cpp"
@@ -349,9 +349,9 @@ if (with-tests)
349349
"../../test/chasers/chaser_template.cpp"
350350
"../../test/chasers/chaser_transaction.cpp"
351351
"../../test/chasers/chaser_validate.cpp"
352+
"../../test/parse/query.cpp"
353+
"../../test/parse/target.cpp"
352354
"../../test/protocols/protocol.cpp"
353-
"../../test/rest/media.cpp"
354-
"../../test/rest/parse.cpp"
355355
"../../test/sessions/session.cpp" )
356356

357357
add_test( NAME libbitcoin-node-test COMMAND libbitcoin-node-test

builds/msvc/vs2022/libbitcoin-node-test/libbitcoin-node-test.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,9 @@
134134
<ClCompile Include="..\..\..\..\test\full_node.cpp" />
135135
<ClCompile Include="..\..\..\..\test\main.cpp" />
136136
<ClCompile Include="..\..\..\..\test\node.cpp" />
137+
<ClCompile Include="..\..\..\..\test\parse\query.cpp" />
138+
<ClCompile Include="..\..\..\..\test\parse\target.cpp" />
137139
<ClCompile Include="..\..\..\..\test\protocols\protocol.cpp" />
138-
<ClCompile Include="..\..\..\..\test\rest\media.cpp" />
139-
<ClCompile Include="..\..\..\..\test\rest\parse.cpp" />
140140
<ClCompile Include="..\..\..\..\test\sessions\session.cpp" />
141141
<ClCompile Include="..\..\..\..\test\settings.cpp" />
142142
<ClCompile Include="..\..\..\..\test\test.cpp" />

builds/msvc/vs2022/libbitcoin-node-test/libbitcoin-node-test.vcxproj.filters

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<Filter Include="src\chasers">
1414
<UniqueIdentifier>{4BD50864-D3BC-4F64-0000-000000000001}</UniqueIdentifier>
1515
</Filter>
16-
<Filter Include="src\protocols">
16+
<Filter Include="src\parse">
1717
<UniqueIdentifier>{4BD50864-D3BC-4F64-0000-000000000002}</UniqueIdentifier>
1818
</Filter>
19-
<Filter Include="src\rest">
19+
<Filter Include="src\protocols">
2020
<UniqueIdentifier>{4BD50864-D3BC-4F64-0000-000000000003}</UniqueIdentifier>
2121
</Filter>
2222
<Filter Include="src\sessions">
@@ -72,14 +72,14 @@
7272
<ClCompile Include="..\..\..\..\test\node.cpp">
7373
<Filter>src</Filter>
7474
</ClCompile>
75-
<ClCompile Include="..\..\..\..\test\protocols\protocol.cpp">
76-
<Filter>src\protocols</Filter>
75+
<ClCompile Include="..\..\..\..\test\parse\query.cpp">
76+
<Filter>src\parse</Filter>
7777
</ClCompile>
78-
<ClCompile Include="..\..\..\..\test\rest\media.cpp">
79-
<Filter>src\rest</Filter>
78+
<ClCompile Include="..\..\..\..\test\parse\target.cpp">
79+
<Filter>src\parse</Filter>
8080
</ClCompile>
81-
<ClCompile Include="..\..\..\..\test\rest\parse.cpp">
82-
<Filter>src\rest</Filter>
81+
<ClCompile Include="..\..\..\..\test\protocols\protocol.cpp">
82+
<Filter>src\protocols</Filter>
8383
</ClCompile>
8484
<ClCompile Include="..\..\..\..\test\sessions\session.cpp">
8585
<Filter>src\sessions</Filter>

builds/msvc/vs2022/libbitcoin-node/libbitcoin-node.vcxproj

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@
137137
<ClCompile Include="..\..\..\..\src\configuration.cpp" />
138138
<ClCompile Include="..\..\..\..\src\error.cpp" />
139139
<ClCompile Include="..\..\..\..\src\full_node.cpp" />
140+
<ClCompile Include="..\..\..\..\src\parse\query.cpp" />
141+
<ClCompile Include="..\..\..\..\src\parse\target.cpp" />
140142
<ClCompile Include="..\..\..\..\src\parser.cpp" />
141143
<ClCompile Include="..\..\..\..\src\protocols\protocol.cpp" />
142144
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_in_106.cpp" />
@@ -155,8 +157,6 @@
155157
<ClCompile Include="..\..\..\..\src\protocols\protocol_performer.cpp" />
156158
<ClCompile Include="..\..\..\..\src\protocols\protocol_transaction_in_106.cpp" />
157159
<ClCompile Include="..\..\..\..\src\protocols\protocol_transaction_out_106.cpp" />
158-
<ClCompile Include="..\..\..\..\src\rest\media.cpp" />
159-
<ClCompile Include="..\..\..\..\src\rest\parse.cpp" />
160160
<ClCompile Include="..\..\..\..\src\sessions\session.cpp" />
161161
<ClCompile Include="..\..\..\..\src\sessions\session_inbound.cpp" />
162162
<ClCompile Include="..\..\..\..\src\sessions\session_manual.cpp" />
@@ -192,6 +192,9 @@
192192
<ClInclude Include="..\..\..\..\include\bitcoin\node\error.hpp" />
193193
<ClInclude Include="..\..\..\..\include\bitcoin\node\events.hpp" />
194194
<ClInclude Include="..\..\..\..\include\bitcoin\node\full_node.hpp" />
195+
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\parse.hpp" />
196+
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\query.hpp" />
197+
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\target.hpp" />
195198
<ClInclude Include="..\..\..\..\include\bitcoin\node\parser.hpp" />
196199
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol.hpp" />
197200
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_bitcoind.hpp" />
@@ -219,8 +222,6 @@
219222
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_web.hpp" />
220223
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_ws.hpp" />
221224
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocols.hpp" />
222-
<ClInclude Include="..\..\..\..\include\bitcoin\node\rest\media.hpp" />
223-
<ClInclude Include="..\..\..\..\include\bitcoin\node\rest\parse.hpp" />
224225
<ClInclude Include="..\..\..\..\include\bitcoin\node\sessions\session.hpp" />
225226
<ClInclude Include="..\..\..\..\include\bitcoin\node\sessions\session_inbound.hpp" />
226227
<ClInclude Include="..\..\..\..\include\bitcoin\node\sessions\session_manual.hpp" />

builds/msvc/vs2022/libbitcoin-node/libbitcoin-node.vcxproj.filters

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
<Filter Include="include\bitcoin\node\impl\chasers">
2929
<UniqueIdentifier>{5FFB5F52-0772-4404-0000-00000000000F}</UniqueIdentifier>
3030
</Filter>
31-
<Filter Include="include\bitcoin\node\protocols">
31+
<Filter Include="include\bitcoin\node\parse">
3232
<UniqueIdentifier>{5FFB5F52-0772-4404-0000-00000000000C}</UniqueIdentifier>
3333
</Filter>
34-
<Filter Include="include\bitcoin\node\rest">
34+
<Filter Include="include\bitcoin\node\protocols">
3535
<UniqueIdentifier>{5FFB5F52-0772-4404-0000-00000000000D}</UniqueIdentifier>
3636
</Filter>
3737
<Filter Include="include\bitcoin\node\sessions">
@@ -49,10 +49,10 @@
4949
<Filter Include="src\chasers">
5050
<UniqueIdentifier>{5FFB5F52-0772-4404-0000-000000000002}</UniqueIdentifier>
5151
</Filter>
52-
<Filter Include="src\protocols">
52+
<Filter Include="src\parse">
5353
<UniqueIdentifier>{5FFB5F52-0772-4404-0000-000000000003}</UniqueIdentifier>
5454
</Filter>
55-
<Filter Include="src\rest">
55+
<Filter Include="src\protocols">
5656
<UniqueIdentifier>{5FFB5F52-0772-4404-0000-000000000004}</UniqueIdentifier>
5757
</Filter>
5858
<Filter Include="src\sessions">
@@ -108,6 +108,12 @@
108108
<ClCompile Include="..\..\..\..\src\full_node.cpp">
109109
<Filter>src</Filter>
110110
</ClCompile>
111+
<ClCompile Include="..\..\..\..\src\parse\query.cpp">
112+
<Filter>src\parse</Filter>
113+
</ClCompile>
114+
<ClCompile Include="..\..\..\..\src\parse\target.cpp">
115+
<Filter>src\parse</Filter>
116+
</ClCompile>
111117
<ClCompile Include="..\..\..\..\src\parser.cpp">
112118
<Filter>src</Filter>
113119
</ClCompile>
@@ -162,12 +168,6 @@
162168
<ClCompile Include="..\..\..\..\src\protocols\protocol_transaction_out_106.cpp">
163169
<Filter>src\protocols</Filter>
164170
</ClCompile>
165-
<ClCompile Include="..\..\..\..\src\rest\media.cpp">
166-
<Filter>src\rest</Filter>
167-
</ClCompile>
168-
<ClCompile Include="..\..\..\..\src\rest\parse.cpp">
169-
<Filter>src\rest</Filter>
170-
</ClCompile>
171171
<ClCompile Include="..\..\..\..\src\sessions\session.cpp">
172172
<Filter>src\sessions</Filter>
173173
</ClCompile>
@@ -269,6 +269,15 @@
269269
<ClInclude Include="..\..\..\..\include\bitcoin\node\full_node.hpp">
270270
<Filter>include\bitcoin\node</Filter>
271271
</ClInclude>
272+
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\parse.hpp">
273+
<Filter>include\bitcoin\node\parse</Filter>
274+
</ClInclude>
275+
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\query.hpp">
276+
<Filter>include\bitcoin\node\parse</Filter>
277+
</ClInclude>
278+
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\target.hpp">
279+
<Filter>include\bitcoin\node\parse</Filter>
280+
</ClInclude>
272281
<ClInclude Include="..\..\..\..\include\bitcoin\node\parser.hpp">
273282
<Filter>include\bitcoin\node</Filter>
274283
</ClInclude>
@@ -350,12 +359,6 @@
350359
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocols.hpp">
351360
<Filter>include\bitcoin\node\protocols</Filter>
352361
</ClInclude>
353-
<ClInclude Include="..\..\..\..\include\bitcoin\node\rest\media.hpp">
354-
<Filter>include\bitcoin\node\rest</Filter>
355-
</ClInclude>
356-
<ClInclude Include="..\..\..\..\include\bitcoin\node\rest\parse.hpp">
357-
<Filter>include\bitcoin\node\rest</Filter>
358-
</ClInclude>
359362
<ClInclude Include="..\..\..\..\include\bitcoin\node\sessions\session.hpp">
360363
<Filter>include\bitcoin\node\sessions</Filter>
361364
</ClInclude>

include/bitcoin/node.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@
4545
#include <bitcoin/node/chasers/chaser_transaction.hpp>
4646
#include <bitcoin/node/chasers/chaser_validate.hpp>
4747
#include <bitcoin/node/chasers/chasers.hpp>
48+
#include <bitcoin/node/parse/parse.hpp>
49+
#include <bitcoin/node/parse/query.hpp>
50+
#include <bitcoin/node/parse/target.hpp>
4851
#include <bitcoin/node/protocols/protocol.hpp>
4952
#include <bitcoin/node/protocols/protocol_bitcoind.hpp>
5053
#include <bitcoin/node/protocols/protocol_block_in_106.hpp>
@@ -71,8 +74,6 @@
7174
#include <bitcoin/node/protocols/protocol_web.hpp>
7275
#include <bitcoin/node/protocols/protocol_ws.hpp>
7376
#include <bitcoin/node/protocols/protocols.hpp>
74-
#include <bitcoin/node/rest/media.hpp>
75-
#include <bitcoin/node/rest/parse.hpp>
7677
#include <bitcoin/node/sessions/session.hpp>
7778
#include <bitcoin/node/sessions/session_inbound.hpp>
7879
#include <bitcoin/node/sessions/session_manual.hpp>

include/bitcoin/node/error.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ enum error_t : uint8_t
115115
missing_component,
116116
invalid_component,
117117
invalid_subcomponent,
118-
extra_segment
118+
extra_segment,
119+
unexpected_parse
119120
};
120121

121122
// No current need for error_code equivalence mapping.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* Copyright (c) 2011-2025 libbitcoin developers (see AUTHORS)
3+
*
4+
* This file is part of libbitcoin.
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU Affero General Public License as published by
8+
* the Free Software Foundation, either version 3 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU Affero General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU Affero General Public License
17+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
*/
19+
#ifndef LIBBITCOIN_NODE_PARSE_PARSE_HPP
20+
#define LIBBITCOIN_NODE_PARSE_PARSE_HPP
21+
22+
#include <bitcoin/node/parse/query.hpp>
23+
#include <bitcoin/node/parse/target.hpp>
24+
25+
#endif
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616
* You should have received a copy of the GNU Affero General Public License
1717
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
*/
19-
#ifndef LIBBITCOIN_NODE_MEDIA_HPP
20-
#define LIBBITCOIN_NODE_MEDIA_HPP
19+
#ifndef LIBBITCOIN_NODE_PARSE_QUERY_HPP
20+
#define LIBBITCOIN_NODE_PARSE_QUERY_HPP
2121

2222
#include <bitcoin/node/define.hpp>
2323

2424
namespace libbitcoin {
2525
namespace node {
2626

27-
BCN_API bool get_acceptable_media_type(network::http::media_type& out,
27+
BCN_API bool parse_query(network::rpc::request_t& out,
2828
const network::http::request& request) NOEXCEPT;
2929

3030
} // namespace network

0 commit comments

Comments
 (0)