Methanol is an extensible HTTP client library built on Java's java.net.http package. It provides core HTTP functionality enhanced with features like automatic decompression (gzip, deflate, Brotli), pluggable body adapters for JSON/XML/Protobuf, HTTP caching with multiple backends (memory, disk, Redis), request/response interceptors, retry mechanisms, progress tracking, and Kotlin DSL support. The library follows a modular architecture with separate modules for core functionality, format adapters, extensions, and testing. Key entry points include Methanol.Builder for client creation, MutableRequest for request building, and BodyAdapter for encoding/decoding. Data flows involve request interception, body encoding, HTTP exchange via java.net.http, response interception, body decoding, and optional caching/progress tracking. External dependencies vary by module: core requires only JDK 11+, while adapters depend on libraries like Jackson/Gson/Moshi, extensions on Redis Lettuce or native Brotli, and testing on JUnit5/MockWebServer.
php-ext-brotli is a PHP extension written in C that integrates the Brotli compression library into PHP. It exposes userland functions for one-shot compression/decompression, including serialized-value variants, and provides an output compression layer controlled by php.ini directives such as brotli.output_compression and brotli.output_compression_exclude_types. The extension can build against a bundled Brotli submodule or a system libbrotli, and reports library linkage and APCu serializer status in phpinfo().