11 repository-uri
Patterns and implementations for processing request-response cycles through chains of modular components.
Distinguishing note: Focuses on the pipeline structure for request processing.
Explore 11 awesome GitHub repositories matching web development · Middleware Architectures. Refine with filters or upvote what's useful.
Koa is a lightweight web framework for Node.js designed for building HTTP applications and servers. It functions as an asynchronous middleware engine that processes network requests through a sequence of functions sharing a common context. The framework distinguishes itself by using an onion-model middleware stack and promise-based flow control. This architecture allows requests to flow downstream and responses to flow back upstream through the same chain, enabling non-blocking request cycles and a modular approach to handling network traffic. The system provides high-level capabilities for
Implements a signature onion-model middleware stack where responses flow back upstream through the same chain as requests.
Hono is a lightweight web framework built on Web Standard APIs that executes across JavaScript runtimes including Cloudflare Workers, Deno, Bun, and Node.js.
Implements a flexible, onion-like middleware architecture for handling cross-cutting concerns.
Actix Web is an asynchronous web framework designed for building high-performance network services. It provides a foundation for processing concurrent requests through a non-blocking execution model, utilizing an actor-based concurrency system to manage lightweight processes and message passing. The framework includes a low-level networking layer that handles the parsing and serialization of HTTP traffic according to standard specifications. The framework distinguishes itself through a type-safe routing engine that enforces strict data types at compile time, ensuring that request parameters a
Processes incoming traffic through a chain of modular components that inspect and modify requests.
YOURLS is a self-hosted URL shortening service that provides a platform for creating, managing, and tracking shortened links on a custom domain. Built as a web application, it functions as a redirection engine that processes incoming requests on the host server to perform HTTP redirects while capturing engagement metrics. The platform distinguishes itself through a modular architecture that allows for extensive customization. Users can modify core functionality or add new capabilities by installing or developing custom plugins, which integrate into the system through a hook-based event model.
Processes incoming requests through a series of independent components before reaching core logic.
Kitura is a server-side web framework for building web applications and APIs using the Swift programming language. It provides a native HTTP server for hosting network traffic and implementing REST APIs. The framework features a pluggable middleware architecture that allows for the insertion of custom logic into the request-response pipeline. It utilizes a Codable data processor to automate the serialization and deserialization of HTTP requests and responses using Swift data models. The system includes a trie-based route matching mechanism for mapping URL paths to handlers and supports the F
Implements a request-response pipeline that supports pluggable modular components for custom logic.
Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe
Utilizes an onion-model architecture where requests and responses flow through concentric middleware layers.
The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and
Intercepts and modifies commands, requests, and responses through a pluggable handler chain.
Botman is an extensible PHP library for building chatbots that work across multiple messaging platforms from a single codebase. It provides a framework-agnostic foundation for creating chat bots that can operate on platforms like Slack, Telegram, and Facebook Messenger without requiring platform-specific code. The library abstracts each chat platform behind a common driver interface, allowing developers to send and receive messages uniformly. It includes a conversation state machine for managing multi-turn dialogues, a message matching engine that triggers responses based on keywords or patte
Processes incoming messages through a chain of middleware classes that can inspect or modify message flow.
Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline with pluggable adapters. Its core identity is built around a middleware-pipeline architecture where HTTP requests and responses flow through a chain of components that can modify, log, or transform data before reaching the backend, combined with an adapter-based backend abstraction that delegates HTTP execution to interchangeable backends like Net::HTTP or Typhoeus. The library distinguishes itself through a parallel-execution engine that dispatches multiple HTTP requests concu
HTTP requests and responses flow through a chain of middleware components that can modify, log, or transform data before reaching the adapter.
Blade is a lightweight Java MVC web framework built on an embedded Netty server. It packages the entire web application into a single executable JAR that starts the server on launch, following the MVC pattern with fast request routing and minimal configuration. The framework supports plugin-based extensibility, allowing third-party modules to add features like template rendering and static asset serving. The framework distinguishes itself through lambda-style route registration, where routes are defined using lambda expressions that map HTTP methods and URL patterns directly to handler functi
Executes pre-request hooks in a chain before the route handler for cross-cutting concerns like logging.
Salvo este un framework web Rust cuprinzător pentru construirea de servere HTTP asincrone și aplicații web. Dispune de un router web ierarhic care utilizează o structură bazată pe arbore pentru a mapa cererile către handler-e și un pipeline middleware asincron bazat pe modelul onion pentru pre- și post-procesarea cererilor și răspunsurilor. Framework-ul se distinge prin suportul nativ pentru protocoalele de rețea moderne, inclusiv o implementare HTTP/3 bazată pe QUIC, alături de HTTP/1 și HTTP/2. Include un generator de documentație OpenAPI integrat care extrage schemele direct din semnăturile handler-elor pentru a produce specificații API standardizate și interfețe interactive. În plus, oferă gestionare automată TLS prin integrarea ACME pentru a obține și reînnoi certificatele de securitate. Proiectul acoperă o gamă largă de capabilități, inclusiv comunicarea în timp real prin WebSockets și WebTransport, precum și funcționalitatea de API gateway cu proxy-ing de cereri și rescriere de căi. Include suport încorporat pentru gestionarea sesiunilor, extragerea type-safe a parametrilor și observabilitate prin integrarea OpenTelemetry. Livrarea conținutului este gestionată prin servirea de fișiere statice și template-uri HTML dinamice. Este furnizat un instrument de linie de comandă pentru inițializarea noilor structuri de proiect.
Uses an onion-model middleware pipeline for sequential request pre-processing and response post-processing.