No description
Find a file
2017-05-13 23:43:09 -04:00
example Added OpenSSL support. #5 2017-04-21 23:13:30 -04:00
test Added OpenSSL support. #5 2017-04-21 23:13:30 -04:00
.gitignore added simplesvr sample. 2013-07-04 22:08:49 -04:00
httplib.h Use BIO for SSL connection. 2017-05-13 23:43:09 -04:00
README.md Added OpenSSL support. #5 2017-04-21 23:13:30 -04:00

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;
    }
}

OpenSSL Support

SSL support is available with CPPHTTPLIB_OPENSSL_SUPPORT. libssl and libcrypto should be linked.

#define CPPHTTPLIB_OPENSSL_SUPPORT

SSLServer svr("./key.pem", "./cert.pem");

SSLClient cli("localhost", 8080);

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