Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
http_facade_example.cpp
Category
Protocol - HTTP networking

Demonstrates:

See also
kcenon::network::facade::http_facade
/*****************************************************************************
BSD 3-Clause License
Copyright (c) 2024, 🍀☀🌕🌥 🌊
All rights reserved.
*****************************************************************************/
#include <iostream>
#include <string>
using namespace kcenon::network;
int main()
{
std::cout << "=== HTTP Facade Example ===" << std::endl;
// Server configuration
srv_config.port = 8080;
srv_config.server_id = "example-http-server";
std::cout << "\n1. Creating HTTP server..." << std::endl;
std::cout << " Port: " << srv_config.port << std::endl;
std::cout << " Server ID: " << srv_config.server_id << std::endl;
auto server = facade::http_facade::create_server(srv_config);
if (server)
{
std::cout << " Server created successfully" << std::endl;
}
else
{
std::cout << " Server creation returned null (expected in demo)" << std::endl;
}
// Client configuration
cli_config.client_id = "example-http-client";
cli_config.timeout = std::chrono::seconds(30);
cli_config.use_ssl = false;
std::cout << "\n2. Creating HTTP client..." << std::endl;
std::cout << " Client ID: " << cli_config.client_id << std::endl;
std::cout << " Timeout: " << cli_config.timeout.count() << "ms" << std::endl;
std::cout << " SSL: " << (cli_config.use_ssl ? "enabled" : "disabled") << std::endl;
auto client = facade::http_facade::create_client(cli_config);
if (client)
{
std::cout << " Client created successfully" << std::endl;
}
else
{
std::cout << " Client creation returned null (expected in demo)" << std::endl;
}
std::cout << "\nDone." << std::endl;
return 0;
}
int main()
Simplified facade for creating HTTP clients and servers.
Main namespace for all Network System components.
Configuration for creating an HTTP client.
Definition http_facade.h:84
std::string client_id
Client identifier (auto-generated if not provided)
Definition http_facade.h:86
std::chrono::milliseconds timeout
Request timeout.
Definition http_facade.h:89
Configuration for creating an HTTP server.
std::string server_id
Server identifier (optional, auto-generated if not provided)