Skip to content

Commit 3af4105

Browse files
Merge pull request #202 from thecodefactory/web-default-page
Allow a built-in default page to be set and used.
2 parents 79c33b6 + abfdf6c commit 3af4105

File tree

16 files changed

+463
-49
lines changed

16 files changed

+463
-49
lines changed

Makefile.am

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ src_libbitcoin_protocol_la_LIBADD = ${zmq_LIBS} ${mbedtls_LIBS} ${bitcoin_system
3737
src_libbitcoin_protocol_la_SOURCES = \
3838
src/settings.cpp \
3939
src/web/connection.cpp \
40+
src/web/default_page_data.cpp \
4041
src/web/json_string.cpp \
4142
src/web/manager.cpp \
4243
src/web/socket.cpp \
@@ -95,6 +96,7 @@ include_bitcoin_protocol_web_HEADERS = \
9596
include/bitcoin/protocol/web/bind_options.hpp \
9697
include/bitcoin/protocol/web/connection.hpp \
9798
include/bitcoin/protocol/web/connection_state.hpp \
99+
include/bitcoin/protocol/web/default_page_data.hpp \
98100
include/bitcoin/protocol/web/event.hpp \
99101
include/bitcoin/protocol/web/file_transfer.hpp \
100102
include/bitcoin/protocol/web/http.hpp \

builds/cmake/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ add_definitions(
179179
add_library( ${CANONICAL_LIB_NAME}
180180
"../../src/settings.cpp"
181181
"../../src/web/connection.cpp"
182+
"../../src/web/default_page_data.cpp"
182183
"../../src/web/json_string.cpp"
183184
"../../src/web/manager.cpp"
184185
"../../src/web/socket.cpp"

builds/msvc/vs2013/libbitcoin-protocol/libbitcoin-protocol.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<ItemGroup>
7676
<ClCompile Include="..\..\..\..\src\settings.cpp" />
7777
<ClCompile Include="..\..\..\..\src\web\connection.cpp" />
78+
<ClCompile Include="..\..\..\..\src\web\default_page_data.cpp" />
7879
<ClCompile Include="..\..\..\..\src\web\json_string.cpp" />
7980
<ClCompile Include="..\..\..\..\src\web\manager.cpp" />
8081
<ClCompile Include="..\..\..\..\src\web\socket.cpp">
@@ -103,6 +104,7 @@
103104
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\bind_options.hpp" />
104105
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection.hpp" />
105106
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection_state.hpp" />
107+
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\default_page_data.hpp" />
106108
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\event.hpp" />
107109
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\file_transfer.hpp" />
108110
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\http.hpp" />

builds/msvc/vs2013/libbitcoin-protocol/libbitcoin-protocol.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
<ClCompile Include="..\..\..\..\src\web\connection.cpp">
4343
<Filter>src\web</Filter>
4444
</ClCompile>
45+
<ClCompile Include="..\..\..\..\src\web\default_page_data.cpp">
46+
<Filter>src\web</Filter>
47+
</ClCompile>
4548
<ClCompile Include="..\..\..\..\src\web\json_string.cpp">
4649
<Filter>src\web</Filter>
4750
</ClCompile>
@@ -110,6 +113,9 @@
110113
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection_state.hpp">
111114
<Filter>include\bitcoin\protocol\web</Filter>
112115
</ClInclude>
116+
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\default_page_data.hpp">
117+
<Filter>include\bitcoin\protocol\web</Filter>
118+
</ClInclude>
113119
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\event.hpp">
114120
<Filter>include\bitcoin\protocol\web</Filter>
115121
</ClInclude>

builds/msvc/vs2015/libbitcoin-protocol/libbitcoin-protocol.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<ItemGroup>
7676
<ClCompile Include="..\..\..\..\src\settings.cpp" />
7777
<ClCompile Include="..\..\..\..\src\web\connection.cpp" />
78+
<ClCompile Include="..\..\..\..\src\web\default_page_data.cpp" />
7879
<ClCompile Include="..\..\..\..\src\web\json_string.cpp" />
7980
<ClCompile Include="..\..\..\..\src\web\manager.cpp" />
8081
<ClCompile Include="..\..\..\..\src\web\socket.cpp">
@@ -103,6 +104,7 @@
103104
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\bind_options.hpp" />
104105
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection.hpp" />
105106
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection_state.hpp" />
107+
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\default_page_data.hpp" />
106108
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\event.hpp" />
107109
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\file_transfer.hpp" />
108110
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\http.hpp" />

builds/msvc/vs2015/libbitcoin-protocol/libbitcoin-protocol.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
<ClCompile Include="..\..\..\..\src\web\connection.cpp">
4343
<Filter>src\web</Filter>
4444
</ClCompile>
45+
<ClCompile Include="..\..\..\..\src\web\default_page_data.cpp">
46+
<Filter>src\web</Filter>
47+
</ClCompile>
4548
<ClCompile Include="..\..\..\..\src\web\json_string.cpp">
4649
<Filter>src\web</Filter>
4750
</ClCompile>
@@ -110,6 +113,9 @@
110113
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection_state.hpp">
111114
<Filter>include\bitcoin\protocol\web</Filter>
112115
</ClInclude>
116+
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\default_page_data.hpp">
117+
<Filter>include\bitcoin\protocol\web</Filter>
118+
</ClInclude>
113119
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\event.hpp">
114120
<Filter>include\bitcoin\protocol\web</Filter>
115121
</ClInclude>

builds/msvc/vs2017/libbitcoin-protocol/libbitcoin-protocol.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<ItemGroup>
7676
<ClCompile Include="..\..\..\..\src\settings.cpp" />
7777
<ClCompile Include="..\..\..\..\src\web\connection.cpp" />
78+
<ClCompile Include="..\..\..\..\src\web\default_page_data.cpp" />
7879
<ClCompile Include="..\..\..\..\src\web\json_string.cpp" />
7980
<ClCompile Include="..\..\..\..\src\web\manager.cpp" />
8081
<ClCompile Include="..\..\..\..\src\web\socket.cpp">
@@ -103,6 +104,7 @@
103104
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\bind_options.hpp" />
104105
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection.hpp" />
105106
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection_state.hpp" />
107+
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\default_page_data.hpp" />
106108
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\event.hpp" />
107109
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\file_transfer.hpp" />
108110
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\http.hpp" />

builds/msvc/vs2017/libbitcoin-protocol/libbitcoin-protocol.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
<ClCompile Include="..\..\..\..\src\web\connection.cpp">
4343
<Filter>src\web</Filter>
4444
</ClCompile>
45+
<ClCompile Include="..\..\..\..\src\web\default_page_data.cpp">
46+
<Filter>src\web</Filter>
47+
</ClCompile>
4548
<ClCompile Include="..\..\..\..\src\web\json_string.cpp">
4649
<Filter>src\web</Filter>
4750
</ClCompile>
@@ -110,6 +113,9 @@
110113
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\connection_state.hpp">
111114
<Filter>include\bitcoin\protocol\web</Filter>
112115
</ClInclude>
116+
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\default_page_data.hpp">
117+
<Filter>include\bitcoin\protocol\web</Filter>
118+
</ClInclude>
113119
<ClInclude Include="..\..\..\..\include\bitcoin\protocol\web\event.hpp">
114120
<Filter>include\bitcoin\protocol\web</Filter>
115121
</ClInclude>

include/bitcoin/protocol.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include <bitcoin/protocol/web/bind_options.hpp>
2222
#include <bitcoin/protocol/web/connection.hpp>
2323
#include <bitcoin/protocol/web/connection_state.hpp>
24+
#include <bitcoin/protocol/web/default_page_data.hpp>
2425
#include <bitcoin/protocol/web/event.hpp>
2526
#include <bitcoin/protocol/web/file_transfer.hpp>
2627
#include <bitcoin/protocol/web/http.hpp>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* Copyright (c) 2011-2019 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_PROTOCOL_WEB_DEFAULT_PAGE_DATA_HPP
20+
#define LIBBITCOIN_PROTOCOL_WEB_DEFAULT_PAGE_DATA_HPP
21+
22+
#include <bitcoin/protocol/define.hpp>
23+
#include <bitcoin/protocol/settings.hpp>
24+
25+
namespace libbitcoin {
26+
namespace protocol {
27+
namespace http {
28+
29+
/// Given endpoints for each web service based on user configuration,
30+
/// we can generate default page data.
31+
std::string get_default_page_data(const bc::system::config::endpoint& query,
32+
const bc::system::config::endpoint& heartbeat,
33+
const bc::system::config::endpoint& block,
34+
const bc::system::config::endpoint& transaction);
35+
36+
} // namespace http
37+
} // namespace protocol
38+
} // namespace libbitcoin
39+
40+
#endif

0 commit comments

Comments
 (0)