awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
meta avatar

meta/proxygen

0
View on GitHub↗

Proxygen

Proxygen is a collection of C++ HTTP libraries for building both servers and clients. Applications are written against shared request, response, session, and transaction abstractions. A server creates a handler for each incoming request through a factory, and each request and response pair is carried by its own transaction, so application code does not manage low-level sessions or sockets directly. The same interfaces are used for issuing and answering requests.

A single application can serve HTTP/1.1, SPDY/3, SPDY/3.1, HTTP/2, and HTTP/3 through one common set of abstractions, with a pluggable codec converting wire bytes into request and response objects. HTTP/3 runs over an IETF QUIC transport layer. The project includes a command-line tool that acts as an HTTP/3 server or client, and it can record QUIC connection events in the qlog format.

The library also serves as a toolkit for assembling forward and reverse proxies. Bundled sample programs include an echo server, a static file server, a forward proxy, a curl-like client, and an HTTP/2 server push example. On the build side, CMake find modules locate optional dependencies such as Zstandard and Google Mock, and an exported package configuration lets downstream projects import the installed library.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • HTTP Servers - Provides C++ libraries for building HTTP servers that accept incoming requests and handle each with custom handler logic.
  • C++ HTTP Server Libraries - Provides a C++ HTTP server library that creates a request handler per incoming request and hides low-level session management.
  • HTTP/3 Implementations - Implements an HTTP/3 stack over IETF QUIC with a command-line server and client tool and qlog connection logging.
  • HTTP Client Integrations - Lets applications send HTTP requests to remote servers and process the responses using the same handler and transaction interfaces.
  • Multi-Protocol HTTP Support - Handles HTTP/1.1, SPDY, HTTP/2, and HTTP/3 through shared abstractions so applications avoid per-version code.
  • QUIC Implementations - Runs HTTP/3 on an IETF QUIC transport layer that sits beneath the common HTTP abstractions.
  • HTTP Request and Response Handlers - Builds a request handler for each incoming HTTP request through a factory so applications send responses without managing low-level sessions.
  • Multi-Protocol HTTP Serving - Serves HTTP/1.1, SPDY, HTTP/2, and HTTP/3 from a single application through shared request and response abstractions.
  • Codec-Based Message Framing - Uses a pluggable codec to turn raw wire bytes into common request and response objects, so one application serves several HTTP versions.
  • HTTP Client Interfaces - Offers client-side interfaces for sending HTTP requests and processing responses using the same handler and transaction model as servers.
  • HTTP Client Libraries - Provides a C++ library for writing HTTP clients that send requests and process responses via handler and transaction interfaces.
  • HTTP Message Serialization - Converts wire bytes into request and response objects and serializes outgoing messages back into protocol-correct bytes through a pluggable codec.
  • HTTP Proxies - Supplies libraries and samples for assembling forward and reverse HTTP proxies that relay requests between clients and destination servers.
  • HTTP Request Abstractions - Parses wire bytes with a codec, maps each request and response pair to a transaction, and passes it to a business-logic handler.
  • HTTP Proxy Forwarders - Acts as a toolkit for assembling forward and reverse proxies that relay HTTP requests between clients and servers.
  • Event-Driven I/O - Drives connections with a non-blocking event loop that reacts to socket readiness instead of dedicating a thread to each connection.
  • Handler Dispatchers - Creates a fresh user-defined handler for every incoming request through a factory, keeping application code separate from sessions and sockets.
8,379 stars·1,530 forks·C++·1 view

Star history

Star history chart for meta/proxygenStar history chart for meta/proxygen

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does meta/proxygen do?

Proxygen is a collection of C++ HTTP libraries for building both servers and clients. Applications are written against shared request, response, session, and transaction abstractions. A server creates a handler for each incoming request through a factory, and each request and response pair is carried by its own transaction, so application code does not manage low-level sessions or sockets directly. The same interfaces are used for issuing and answering requests.

What are the main features of meta/proxygen?

The main features of meta/proxygen are: HTTP Servers, C++ HTTP Server Libraries, HTTP/3 Implementations, HTTP Client Integrations, Multi-Protocol HTTP Support, QUIC Implementations, HTTP Request and Response Handlers, Multi-Protocol HTTP Serving.

Which projects share features with meta/proxygen?

Projects with overlapping indexed features include: salvo-rs/salvo — Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a… facebook/proxygen — Proxygen is a collection of C++ libraries for building high-performance HTTP servers and clients. It provides a… boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… yedf2/handy — Handy is a C++11 network server framework and event-driven networking engine designed for building high-performance… ninenines/cowboy — Cowboy is a high-performance HTTP server for Erlang and OTP. It is designed to handle web traffic with low memory…

Projects sharing features with Proxygen

These projects share indexed features with Proxygen. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • salvo-rs/salvosalvo-rs avatar

    salvo-rs/salvo

    4,461View on GitHub↗

    Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a hierarchical web router that uses a tree-based structure to map requests to handlers and an asynchronous middleware pipeline based on the onion model for request and response pre- and post-processing. The framework is distinguished by its native support for modern network protocols, including a QUIC-based HTTP/3 implementation alongside HTTP/1 and HTTP/2. It includes an integrated OpenAPI documentation generator that extracts schemas directly from handler signatures to produc

    Rustasyncframeworkhttp-server
    View on GitHub↗4,461
  • facebook/proxygenfacebook avatar

    facebook/proxygen

    8,351View on GitHub↗

    Proxygen is a collection of C++ libraries for building high-performance HTTP servers and clients. It provides a protocol parser that converts raw network bytes into high-level transaction objects and includes a network stack for processing web traffic over the QUIC transport protocol. The project implements a layered protocol abstraction and a QUIC-based transport integration to support multiple versions of the HTTP standard, including HTTP/3. It utilizes state-machine based parsing and an event-driven I/O loop to manage concurrent network connections. The library covers asynchronous buffer

    C++
    View on GitHub↗8,351
  • boostorg/beastboostorg avatar

    boostorg/beast

    4,801View on GitHub↗

    Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an asynchronous networking framework designed to compose non-blocking I/O operations and layered stream stacks for managing concurrent network traffic, specifically utilizing the Boost.Asio asynchronous model. The library provides a comprehensive implementation of the HTTP/1.1 and WebSocket protocols. For HTTP, it includes primitives for parsing and serializing messages with support for chunked transfer encoding, incremental body reading, and request pipelining. Its WebSocket implementati

    C++asioasync-programmingboost
    View on GitHub↗4,801
  • ithewei/libhvithewei avatar

    ithewei/libhv

    7,521View on GitHub↗

    libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered

    Ccurlepollhttp-client
    View on GitHub↗7,521
Compare all 30 related projects→