Production-ready HTTP/1.1, HTTP/2, HTTP/3, QUIC, and WebSocket implementation in pure C
Full support for HTTP/3, QUIC with connection migration and 0-RTT. The only C library with these features.
Optimized for speed with connection pooling, HTTP/2 multiplexing, and intelligent response caching.
Battle-tested with circuit breakers, middleware pipelines, and comprehensive error handling.
Prometheus-compatible metrics, request tracking, and real-time monitoring out of the box.
Seamless connection migration between networks (WiFi ↔ cellular) without dropping connections.
Works on Windows, Linux, and macOS. Single codebase for all platforms.
#include "jvr/client.h"
int main() {
// Create client with HTTP/3 support
jvr_client_config_t config = {
.prefer_http3 = true,
.prefer_http2 = true
};
jvr_client_t* client = jvr_client_create_with_config(&config);
// Create and send request
jvr_request_t* request = jvr_request_create("GET",
"https://api.github.com/users/github");
jvr_response_t* response = jvr_client_send(client, request);
// Handle response
if (response && response->status_code == 200) {
printf("Success! Body: %.*s\n",
(int)response->body_size, response->body);
}
// Cleanup
jvr_response_destroy(response);
jvr_request_destroy(request);
jvr_client_destroy(client);
return 0;
}
Just 20 lines of code for a complete HTTP/3 request with automatic protocol negotiation!
| Feature | JVR NetStack | libcurl | Other C Libraries |
|---|---|---|---|
| HTTP/1.1 | ✅ | ✅ | ✅ |
| HTTP/2 | ✅ | ✅ | ⚠️ Some |
| HTTP/3 | ✅ | ⚠️ Experimental | ❌ |
| QUIC Protocol | ✅ Full | ⚠️ Limited | ❌ |
| Connection Migration | ✅ | ❌ | ❌ |
| 0-RTT Support | ✅ | ❌ | ❌ |
| WebSocket | ✅ | ❌ | ⚠️ Separate |
| Circuit Breaker | ✅ | ❌ | ❌ |
| Built-in Metrics | ✅ | ❌ | ❌ |
| Response Caching | ✅ | ❌ | ❌ |
Get started with JVR NetStack today and experience the future of C networking.