SNode.C
Loading...
Searching...
No Matches
httplowlevelclient.cpp File Reference
Include dependency graph for httplowlevelclient.cpp:

Go to the source code of this file.

Classes

class  apps::http::SimpleSocketProtocol
class  apps::http::SimpleSocketProtocolFactory

Namespaces

namespace  apps
namespace  apps::http
namespace  tls
namespace  legacy

Typedefs

using tls::SocketClient = net::in::stream::tls::SocketClient<apps::http::SimpleSocketProtocolFactory>
using tls::SocketAddress = SocketClient::SocketAddress
using tls::SocketConnection = SocketClient::SocketConnection
using legacy::SocketClient = net::in::stream::legacy::SocketClient<apps::http::SimpleSocketProtocolFactory>
using legacy::SocketAddress = SocketClient::SocketAddress
using legacy::SocketConnection = SocketClient::SocketConnection

Functions

static web::http::client::ResponseParserapps::http::getResponseParser (core::socket::stream::SocketContext *socketContext)
SocketClient tls::getClient ()
SocketClient legacy::getLegacyClient ()
int main (int argc, char *argv[])

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 309 of file httplowlevelclient.cpp.

309 {
310 core::SNodeC::init(argc, argv);
311
312 {
313 const legacy::SocketAddress legacyRemoteAddress("localhost", 8080);
314
315 const legacy::SocketClient legacyClient = legacy::getLegacyClient();
316
317 legacyClient.connect(legacyRemoteAddress,
318 [instanceName = legacyClient.getConfig()->getInstanceName()](
319 const tls::SocketAddress& socketAddress,
320 const core::socket::State& state) { // example.com:81 simulate connnect timeout
321 switch (state) {
322 case core::socket::State::OK:
323 VLOG(1) << instanceName << ": connected to '" << socketAddress.toString() << "'";
324 break;
325 case core::socket::State::DISABLED:
326 VLOG(1) << instanceName << ": disabled";
327 break;
328 case core::socket::State::ERROR:
329 LOG(ERROR) << instanceName << ": " << socketAddress.toString() << ": " << state.what();
330 break;
331 case core::socket::State::FATAL:
332 LOG(FATAL) << instanceName << ": " << socketAddress.toString() << ": " << state.what();
333 break;
334 }
335 });
336
337 const tls::SocketAddress tlsRemoteAddress = tls::SocketAddress("localhost", 8088);
338
339 const tls::SocketClient tlsClient = tls::getClient();
340
341 tlsClient.connect(tlsRemoteAddress,
342 [instanceName = tlsClient.getConfig()->getInstanceName()](
343 const tls::SocketAddress& socketAddress,
344 const core::socket::State& state) { // example.com:81 simulate connnect timeout
345 switch (state) {
346 case core::socket::State::OK:
347 VLOG(1) << instanceName << ": connected to '" << socketAddress.toString() << "'";
348 break;
349 case core::socket::State::DISABLED:
350 VLOG(1) << instanceName << ": disabled";
351 break;
352 case core::socket::State::ERROR:
353 LOG(ERROR) << instanceName << ": " << socketAddress.toString() << ": " << state.what();
354 break;
355 case core::socket::State::FATAL:
356 LOG(FATAL) << instanceName << ": " << socketAddress.toString() << ": " << state.what();
357 break;
358 }
359 });
360 }
361
362 return core::SNodeC::start();
363}
static void init(int argc, char *argv[])
Definition SNodeC.cpp:54
static int start(const utils::Timeval &timeOut={LONG_MAX, 0})
Definition SNodeC.cpp:60
Config * getConfig() const
Definition Socket.hpp:65
const Super & connect(const std::string &ipOrHostname, uint16_t port, const std::function< void(const SocketAddress &, core::socket::State)> &onStatus) const
net::in::stream::legacy::SocketClient< apps::http::SimpleSocketProtocolFactory > SocketClient
SocketClient::SocketAddress SocketAddress
SocketClient getLegacyClient()
net::in::stream::tls::SocketClient< apps::http::SimpleSocketProtocolFactory > SocketClient
SocketClient getClient()
SocketClient::SocketAddress SocketAddress

References core::socket::stream::SocketClient< SocketConnectorT, SocketContextFactoryT, Args >::connect(), core::socket::State::DISABLED, core::socket::State::ERROR, logger::ERROR, core::socket::State::FATAL, logger::FATAL, tls::getClient(), core::socket::Socket< ConfigT >::getConfig(), net::config::ConfigInstance::getInstanceName(), legacy::getLegacyClient(), core::SNodeC::init(), logger::LogMessage::LogMessage(), core::socket::State::OK, net::in::SocketAddress::SocketAddress(), core::SNodeC::start(), net::in::SocketAddress::toString(), and core::socket::State::what().

Here is the call graph for this function: