A C++ header-only HTTP/HTTPS server and client library

httplib.h

#http #server #client #header-only #cpp #c++11 #library #small #lightweight

yhirose 5b0c90d3b3 Fixed build problem on Raspberry PI. 10 سال پیش
example 34e5903167 Changed examples to use the generic lambda. 11 سال پیش
test efc579b14e Changed to use getaddrinfo. 11 سال پیش
.gitignore 292d1aeff7 added simplesvr sample. 12 سال پیش
README.md 6120367290 Fixed documentation. 11 سال پیش
httplib.h 5b0c90d3b3 Fixed build problem on Raspberry PI. 10 سال پیش

README.md

cpp-httplib

A C++11 header-only HTTP library.

The Boost Software License 1.0

It's extremely easy to setup. Just include httplib.h file in your code!

Server Example

Inspired by Sinatra and express.

#include <httplib.h>

int main(void)
{
    using namespace httplib;

    Server svr;

    svr.get("/hi", [](const auto& req, auto& res) {
        res.set_content("Hello World!", "text/plain");
    });

    svr_.get(R"(/numbers/(\d+))", [&](const auto& req, auto& res) {
        string numbers = req.matches[1];
        res.set_content(numbers, "text/plain");
    });

    svr.listen("localhost", 1234);
}

Client Example

#include <httplib.h>
#include <iostream>

int main(void)
{
    httplib::Client cli("localhost", 1234);

    auto res = cli.get("/hi");
    if (res && res->status == 200) {
        std::cout << res->body << std::endl;
    }
}

Copyright (c) 2014 Yuji Hirose. All rights reserved.