1
0
mirror of synced 2025-04-19 00:24:02 +03:00
cpp-httplib/example/server_and_client.cc
2024-09-07 10:05:53 -04:00

45 lines
897 B
C++

//
// server_and_client.cc
//
// Copyright (c) 2024 Yuji Hirose. All rights reserved.
// MIT License
//
#include <iostream>
#include <string>
#include <string>
#include <httplib.h>
using namespace httplib;
const char *HOST = "localhost";
const int PORT = 1234;
const std::string JSON_DATA = R"({"hello": "world"})";
int main(void) {
Server svr;
svr.Post("/api", [&](const Request & /*req*/, Response &res) {
res.set_content("Hello World!", "text/plain");
});
auto thread = std::thread([&]() { svr.listen(HOST, PORT); });
auto se = detail::scope_exit([&] {
svr.stop();
thread.join();
});
svr.wait_until_ready();
Client cli(HOST, PORT);
auto res =
cli.Post("/api", Headers(), JSON_DATA.data(), JSON_DATA.size(),
"application/json", [](uint64_t, uint64_t) { return true; });
if (res) {
std::cout << res->body << std::endl;
}
}