This is the Symfony HttpKernel component, a PHP library that provides the core request-to-response pipeline for the Symfony framework. It implements an event-driven architecture where the kernel dispatches events (REQUEST, CONTROLLER, CONTROLLER_ARGUMENTS, VIEW, RESPONSE, EXCEPTION, FINISH_REQUEST, TERMINATE) that listeners can modify. The library includes controller resolution, argument injection via a chain of value resolvers, HTTP caching (reverse proxy with ESI/SSI support), profiling and debugging infrastructure, rate limiting, locking, serialization, and attribute-based configuration. It is not a standalone application but a library used by Symfony applications and any PHP project needing a robust HTTP kernel.
Souin is an HTTP caching reverse proxy/middleware compliant with RFC 7234 and related standards. It functions as a pluggable cache layer for various web frameworks (Gin, Echo, Fiber, etc.) and reverse proxies (Caddy, Traefik, Tyk), providing features like request coalescing, surrogate key-based tagging, stale-while-revalidate, and multiple storage backends. The architecture centers on a core middleware handler (`pkg/middleware`) that processes requests through a chain of caching logic, utilizing context propagation for request-scoped values and a pluggable storage system. Key entry points include framework-specific adapter files (e.g., `plugins/gin/souin.go`) and the standalone `main.go` server. Data flows involve intercepting HTTP requests, checking cache storage (in-memory or external like Redis/Badger), serving cached responses or forwarding to upstream, and optionally caching responses based on configuration. External dependencies include Go standard libraries, third-party packages for specific frameworks/storage drivers, and tools like Docker and GoReleaser for deployment.
Trinea Android Common is a mature Android library providing a comprehensive set of caching components (in-memory, disk, HTTP), custom UI widgets (pull-to-refresh ListView, horizontal ListView, border ScrollView, single-page Gallery), and a wide array of utility classes for common Android development tasks. The cache system is particularly well-architected, featuring a pluggable eviction policy interface with 13+ strategies, two-level caching (memory + SD card), and preloading support. The library is written in Java and targets API 21+, with AndroidX dependencies. While the codebase is functional and well-documented, it shows its age with patterns like AsyncTask and raw HttpURLConnection, and lacks Kotlin or modern coroutine support. It remains a solid reference for cache implementation patterns and utility functions, but for new projects, developers may prefer more modern alternatives like Coil or Glide for image loading.