Skip to content

Commit f38fd36

Browse files
Initial commit multiple HTTP connections
(cherry picked from commit 9a627827bf4800b6c27555dcf56ecf3a77187822) (cherry picked from commit 16bf54d)
1 parent 5d8224b commit f38fd36

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

postmaster/instantiations/HttpServer.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,18 @@ namespace main_
55
HttpServer::HttpServer(services::ConnectionFactory& connectionFactory, services::ConfigurationStoreAccess<infra::BoundedString>& hostname,
66
services::ConfigurationStoreAccess<infra::BoundedString>& attributes, services::ConfigurationStoreAccess<infra::BoundedString>& password,
77
application::Authentication& authentication, application::PostmasterDiscovery& postmasterDiscovery,
8-
UartCreator& uartProgrammerCreator, UartCreator& uartExternalCreator, hal::Flash& upgradeFlash, hal::Reset& reset, const infra::Function<void(bool open, services::IPAddress address)>& reporter, const infra::Function<void(bool receiving)>& receivingTarget, const infra::Function<void(bool receiving)>& receivingSelf, hal::GpioPin& resetTarget, hal::GpioPin& boot0)
8+
const infra::Function<void(bool open, services::IPAddress address)>& reporter, const infra::Function<void(bool receiving)>& receivingTarget, const infra::Function<void(bool receiving)>& receivingSelf)
99
: HttpServerFrontEnd(connectionFactory, hostname, attributes, password, authentication, reporter, receivingTarget, receivingSelf)
1010
, discovery("discovery", postmasterDiscovery)
11+
{
12+
server.AddPage(discovery);
13+
}
14+
15+
HttpServerSingleConnection::HttpServerSingleConnection(services::ConnectionFactory& connectionFactory, services::ConfigurationStoreAccess<infra::BoundedString>& hostname,
16+
services::ConfigurationStoreAccess<infra::BoundedString>& attributes, services::ConfigurationStoreAccess<infra::BoundedString>& password,
17+
application::Authentication& authentication, application::PostmasterDiscovery& postmasterDiscovery,
18+
UartCreator& uartProgrammerCreator, UartCreator& uartExternalCreator, hal::Flash& upgradeFlash, hal::Reset& reset, const infra::Function<void(bool open, services::IPAddress address)>& reporter, const infra::Function<void(bool receiving)>& receivingTarget, const infra::Function<void(bool receiving)>& receivingSelf, hal::GpioPin& resetTarget, hal::GpioPin& boot0)
19+
: HttpServer(connectionFactory, hostname, attributes, password, authentication, postmasterDiscovery, reporter, receivingTarget, receivingSelf)
1120
, uartProgrammerCreator(uartProgrammerCreator)
1221
, uartExternalCreator(uartExternalCreator)
1322
, selfFirmwarePage{ authentication, "firmware/self" }
@@ -25,6 +34,5 @@ namespace main_
2534
server.AddPage(targetUartExternal.page);
2635
server.AddPage(targetUartEchoProgrammer.page);
2736
server.AddPage(targetUartEchoExternal.page);
28-
server.AddPage(discovery);
2937
}
3038
}

postmaster/instantiations/HttpServer.hpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,24 @@ namespace main_
1414
: public HttpServerFrontEnd
1515
{
1616
HttpServer(services::ConnectionFactory& connectionFactory, services::ConfigurationStoreAccess<infra::BoundedString>& hostname,
17+
services::ConfigurationStoreAccess<infra::BoundedString>& attributes, services::ConfigurationStoreAccess<infra::BoundedString>& password,
18+
application::Authentication& authentication, application::PostmasterDiscovery& postmasterDiscovery,
19+
const infra::Function<void(bool open, services::IPAddress address)>& reporter, const infra::Function<void(bool receiving)>& receivingTarget, const infra::Function<void(bool receiving)>& receivingSelf);
20+
21+
application::HttpPageDiscovery discovery;
22+
};
23+
24+
struct HttpServerSingleConnection
25+
: public HttpServer
26+
{
27+
HttpServerSingleConnection(services::ConnectionFactory& connectionFactory, services::ConfigurationStoreAccess<infra::BoundedString>& hostname,
1728
services::ConfigurationStoreAccess<infra::BoundedString>& attributes, services::ConfigurationStoreAccess<infra::BoundedString>& password,
1829
application::Authentication& authentication, application::PostmasterDiscovery& postmasterDiscovery,
1930
UartCreator& uartProgrammerCreator, UartCreator& uartExternalCreator, hal::Flash& upgradeFlash, hal::Reset& reset, const infra::Function<void(bool open, services::IPAddress address)>& reporter, const infra::Function<void(bool receiving)>& receivingTarget, const infra::Function<void(bool receiving)>& receivingSelf, hal::GpioPin& resetTarget, hal::GpioPin& boot0);
2031

2132
UartCreator& uartProgrammerCreator;
2233
UartCreator& uartExternalCreator;
2334

24-
application::HttpPageDiscovery discovery;
2535
application::AuthenticatedHttpPage::WithPage<application::HttpPageFirmware> selfFirmwarePage;
2636
main_::SelfProgrammer selfProgrammer;
2737

postmaster/prototype_win/Main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ int main()
148148
static GpioPinStub resetTarget;
149149
static GpioPinStub boot0;
150150
static application::Authentication authentication{ passwordAccess, randomDataGenerator };
151-
static main_::HttpServer httpServer{ networkAdapter.ConnectionFactory(), hostnameAccess, attributesAccess, passwordAccess, authentication, mdnsDiscovery.discovery, serialCreator, serialCreator, flash, reset, [](bool open, services::IPAddress address) {}, [](bool receiving) {}, [](bool receiving) {}, resetTarget, boot0 };
151+
static main_::HttpServerSingleConnection httpServer{ networkAdapter.ConnectionFactory(), hostnameAccess, attributesAccess, passwordAccess, authentication, mdnsDiscovery.discovery, serialCreator, serialCreator, flash, reset, [](bool open, services::IPAddress address) {}, [](bool receiving) {}, [](bool receiving) {}, resetTarget, boot0 };
152152
static main_::EchoServer echoServer{ networkAdapter.ConnectionFactory(), serialCreator, 1235 };
153153
static main_::SingleConnectionLink link(httpServer.server, echoServer.listener);
154154

0 commit comments

Comments
 (0)