This project comprises the core C++ HTTP abstractions used at Facebook. Internally, it is used as the basis for building many HTTP servers, proxies, and clients. This release focuses on the common HTTP abstractions and our simple HTTPServer framework. Future releases will provide simple client APIs as well. The framework supports HTTP/1.1, SPDY/3, SPDY/3.1, HTTP/2, and HTTP/3. The goal is to provide a simple, performant, and modern C++ HTTP library. Note that currently this project has been tested on Ubuntu 18.04 and Mac OSX although it likely works on many other platforms. The central abstractions to understand in proxygen/lib are the session, codec, transaction, and handler. These are the lowest level abstractions, and we don't generally recommend building off of these directly. When bytes are read off the wire, the HTTPCodec stored inside HTTPSession parses these into higher-level objects and associates with it a transaction identifier.

Features

  • Proxygen makes heavy use of the latest C++ features and depends on Thrift and Folly for its underlying network and data abstractions
  • Get set up quickly with a simple, fast-out-of-the-box event driven server
  • Proxygen has allowed us to rapidly build out new features, get them into production, and see the results very quickly
  • The Proxygen codebase is under active development and will continue to evolve
  • You will need at least 3 GiB of memory to compile proxygen and its dependencies
  • Proxygen and folly are all Autotools based projects

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

BSD License

Follow Proxygen

Proxygen Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Proxygen!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

C++

Related Categories

C++ Libraries

Registered

2021-08-03