yhirose/cpp-httplib

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 27 minutes ago
Added to GitGenius on September 3rd, 2026
Created on September 22nd, 2012
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 2,748
Total Stargazers: 16,816 (+0)
Total Subscribers: 202 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.8 hours
Mean response time: 2.8 days
90th percentile: 2.3 days
Tracked items: 346

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 11% of issues opened in the past year have been closed. Three people close 92% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 26 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (32)
  • need more information to verify (32)
  • bug (25)
  • need help! (4)
  • information (3)
  • limitation (3)
  • performance (3)
  • wontfix (2)

Most active issues this week

Detailed Description

cpp-httplib is a C++ header-only HTTP/HTTPS server and client library.

The library addresses the need for lightweight, easy-to-integrate HTTP communication in C++ applications. It works by providing a single header file that developers include directly in their code, eliminating complex build dependencies. The implementation supports both server and client modes with SSL/TLS encryption through multiple backends including OpenSSL, Mbed TLS, and wolfSSL. Additional capabilities include WebSocket support, Server-Sent Events, and a Stream API for flexible request and response handling.

Developers should adopt this library if they need straightforward HTTP functionality in a C++ project without heavyweight dependencies. It suits applications requiring basic HTTP/HTTPS communication where simplicity and ease of integration matter more than advanced features. The library explicitly uses blocking socket I/O, making it unsuitable for projects requiring non-blocking asynchronous networking. It supports only HTTP/1.1, so applications needing HTTP/2 or HTTP/3 should look elsewhere.

Development activity shows that CI includes only basic compile checks rather than functional or security testing. Custom certificate verification through callbacks and mutual TLS support are available for applications requiring advanced authentication. The library provides detailed SSL error information through separate methods for TLS-level and backend-specific error codes. BoringSSL is supported on a best-effort basis with known behavioral differences from OpenSSL, including C++14 requirement and SAN-only hostname verification.