Skip to content

aeronet

aeronet is a modular C++23 library for building fast HTTP/1.1, HTTP/2, and WebSocket servers and clients. It is designed for predictable performance, explicit control, and opt-in features - without hidden global state or macros.

Get started View on GitHub

What aeronet provides

  • HTTP/1.1 server and client support, with keep-alive, streaming, trailers, compression, and static-file helpers.
  • Optional TLS, HTTP/2, WebSocket, asynchronous handlers, OpenTelemetry, Glaze, and JWT modules.
  • A portable event-loop abstraction for Linux, macOS, and Windows, while preserving Linux-focused performance features where available.
  • A CMake-first integration model: enable only the modules your application needs.

Start with the path that matches your task

I want to... Start here
Build and consume the library Installation and build
Select CMake features or tune runtime settings Build configuration, server configuration, or client configuration
Run a minimal HTTP server Your first server
Define routes and process requests Routing and requests
Call a database or another service without blocking the server Async handlers
Read requests and build responses Requests and Responses
Stream a response or serve files Streaming responses and Static files
Add authentication, rate limiting, or CORS Middleware and CORS
Compress responses or accept compressed uploads Compression
Run, stop, and update servers Servers and lifecycle
Enable HTTPS or HTTP/2 TLS and HTTP/2
Add WebSocket support WebSocket
Call other HTTP services HTTP client
Authenticate requests with JSON Web Tokens JWT
Load the server configuration from a file JSON, YAML, and configuration files
Check a protocol behavior or status code HTTP/1.1 conformance
Configure logging and telemetry Observability and logging
Wire liveness and readiness checks Health probes
Assemble a public, TLS, Kubernetes, or upstream-client profile Production deployment patterns

Documentation status

This site is the primary aeronet documentation. Guides explain common workflows, protocol and module pages document each feature in depth, and the references list every build option, configuration field, and HTTP behavior.