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

httplib.h

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

yhirose 2c276ed31a Merge pull request #4 from cesfahani/bug/signed-unsigned-warning 8 years ago
example 29c56644b0 Visual Studio 2015 support. 10 years ago
test 29c56644b0 Visual Studio 2015 support. 10 years ago
.gitignore 292d1aeff7 added simplesvr sample. 12 years ago
README.md 5cb05258ee Correct the example in README. 9 years ago
httplib.h 6a50f13209 Fixed signed/unsigned comparison warning. 8 years ago

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) {
        auto 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.