Proxygen is a production-grade C++ HTTP library developed by Meta, providing comprehensive support for HTTP/1.1, HTTP/2, HTTP/3 (QUIC), and WebTransport. It offers both a classic callback-based server/client framework and a modern coroutine-based API using folly::coro. The architecture is layered: low-level codecs for wire protocol parsing, session management with flow control and rate limiting, transport abstraction (TCP, TLS, QUIC), and high-level handler/filter chains. The library includes extensive utilities for DNS resolution, consistent hashing, stream compression, structured headers, and connection pooling. It is heavily tested and designed for high-performance, multi-threaded production environments. While primarily a server framework, it also provides a full client stack and sample applications (echo, proxy, push, WebSocket, H3). The codebase is well-structured with many reusable components, though it remains tightly coupled to Meta's ecosystem (folly, wangle, fizz, mvfst).
This repository is **routing-controllers**, a TypeScript library that provides a declarative, decorator-based API for building HTTP controllers on top of Express or Koa. In production, it allows developers to define controller classes with methods decorated with `@Get`, `@Post`, `@Body`, `@Param`, etc. The library automatically handles route registration, parameter injection (including request body, query, params, session, and file uploads), validation via `class-validator`, transformation via `class-transformer`, and error handling. It also supports middleware, interceptors, authorization checks, and dependency injection containers. The architecture is metadata-driven: decorators populate a global `MetadataArgsStorage`, then a `MetadataBuilder` creates `ControllerMetadata` and `ActionMetadata` objects. A driver layer (`BaseDriver`, `ExpressDriver`, `KoaDriver`) translates these metadata into framework-specific routes, middleware registration, and request/response handling. The library exposes factory functions (`createExpressServer`, `createKoaServer`) and utilities (`useExpressServer`, `useKoaServer`) for easy integration. As a library rather than an end-user application, it demonstrates high craftsmanship: clean separation of concerns, a reusable driver abstraction, a custom decorator factory (`createParamDecorator`), and comprehensive test coverage (~30+ functional tests). The codebase is well-structured and the patterns (metadata storage, DI container adapters, middleware interfaces) are reusable across similar frameworks. Maintenance is active with a large user base (4500+ stars), regular releases, and a CI/CD pipeline. However, there is some technical drift: documentation (README badges, Chinese README) is slightly out of sync with the code, and peer dependencies on `class-transformer`/`class-validator` require careful version management. Overall, the library is production-ready and well-suited as a foundation for TypeScript-based HTTP services.