25 Repos
Architectural patterns for processing request and response pipelines.
Distinguishing note: Focuses on the structural pipeline rather than specific security or logging middleware.
Explore 25 awesome GitHub repositories matching web development · Middleware Chains. 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
Processes requests through a sequence of asynchronous functions that share a common context.
Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline. The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the
Processes incoming requests and outgoing responses through a series of modular, type-safe interceptors.
Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the infrastructure necessary to build HTTP/2 web applications, REST APIs, and MVC-based websites. The project distinguishes itself through a flexible architectural model that supports multiple isolated application instances within a single process and allows for binary-embedded asset loading to eliminate external filesystem dependencies. It features dynamic router hot-reloading and a pluggable view engine for rendering dynamic HTML content. The framework covers a broad range of capabilities,
Implements a pipeline of shared logic layers for cross-cutting concerns like authentication and logging.
Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to integrate directly with the standard library, providing a set of utilities for managing HTTP request routing, context propagation, and modular service composition. The project distinguishes itself through a radix-tree-based routing system that supports recursive nesting, allowing developers to mount independent sub-routers onto specific path prefixes. This hierarchical structure enables the creation of organized, modular applications where request handlers are grouped and managed
Provides a structured pipeline for processing HTTP requests through sequences of reusable middleware components.
This project is a request router and web framework for the Go programming language. It provides a toolkit for matching incoming HTTP network requests to specific handler functions by evaluating criteria such as URL paths, request methods, headers, and hostnames. The framework distinguishes itself through its flexible matching capabilities, which include support for regular expressions and dynamic variable extraction from URL segments. It allows developers to organize routes into logical hierarchies, share common path prefixes, and maintain a central registry of named routes to facilitate prog
Wraps request handlers in sequential function chains to process data before and after business logic execution.
This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers. The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns
Implements middleware chains for processing request and response pipelines.
node-lessons is a comprehensive Node.js programming course and instructional guide. It provides a collection of guided lessons and code examples designed to teach the fundamentals of the Node.js runtime and server-side JavaScript development. The project serves as a practical guide for building web servers and backend applications, specifically covering the implementation of HTTP servers, request routing, and middleware chains. It includes specialized instructional material on managing asynchronous JavaScript workflows through promises and flow control, as well as guides for integrating NoSQL
Implements the structural pipeline pattern for processing requests through a sequence of middleware functions.
Drogon is a high-performance C++ HTTP web framework and asynchronous web server designed for building web applications and REST APIs. It utilizes an event-driven, non-blocking architecture to handle concurrent HTTP and WebSocket connections, and it implements a model-view-controller structure to separate business logic from presentation. The framework includes an integrated C++ object-relational mapping system and database client for performing asynchronous operations with relational databases and Redis key-value stores. It supports real-time, full-duplex communication via WebSockets and prov
Implements a sequence of middleware interceptors for handling request authentication and validation.
Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions. The framework is distinguished by its dependency injection system, which automatically resolves and provides requested service types as arguments to handler functions. This allows for the decoupling of business logic from infrastructure by matching requested types against a registry of available services. The project covers a broad range of web capabilities, inc
Implements an architectural pipeline for processing requests through a sequence of middleware handlers.
Tyk is an open-source API gateway written in Go that routes, secures, and monitors network traffic across REST, GraphQL, TCP, and gRPC protocols. It functions as a multi-protocol proxy designed to deliver requests to backend services while managing the end-to-end API lifecycle. The system distinguishes itself through a plugin-based architecture that allows for the injection of custom logic into the request and response middleware chain. It also features native Kubernetes integration, operating as an ingress controller that uses operators and custom resource definitions to deploy security poli
Extends the request and response chain via plugins to transform data or modify headers.
Micro is a Node.js HTTP microservices framework used to build asynchronous web servers. It enables the creation of lightweight services that handle requests and responses through single-purpose functions to reduce operational footprint and latency. The framework functions as a JSON API backend and a WebSocket communication server, allowing for the establishment of bidirectional socket connections for real-time data updates and instant messaging. Its capability surface covers HTTP request processing, including the parsing of JSON and URL-encoded request bodies. It also supports external API i
Utilizes a pipeline of asynchronous functions to transform requests and responses before they reach the final handler.
Connect is an HTTP middleware framework and routing library designed as a wrapper for the Node.js HTTP server. It serves as a middleware composition engine that allows for the creation of chains of request handlers to process HTTP traffic and manage application errors. The framework enables the orchestration of pluggable functions to execute security, logic, and routing rules in a specific sequence. It provides the ability to match incoming request URLs to specific logic handlers based on path prefixes. The system covers broader capabilities including centralized error handling to ensure con
Orchestrates the execution of requests through a sequential chain of middleware functions.
Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It functions as an embedded Jetty web server, allowing applications to run as standalone processes without the need for an external servlet container. The project provides specialized frameworks for diverse communication patterns, including a REST API framework with automatic OpenAPI schema generation, a GraphQL API framework with query and mutation resolvers, and a WebSocket server for bidirectional real-time communication. It also includes a dedicated framework for pushing real-t
Uses a middleware chain architecture to process HTTP requests through sequential before, endpoint, and after handlers.
Litestar is a high-performance Python ASGI web framework designed for building asynchronous APIs and web services. It functions as a type-safe toolkit that leverages Python type hints to provide automatic request validation and response serialization, while natively generating interactive API documentation based on the OpenAPI specification. The framework is distinguished by its integrated dependency injection system, which manages shared resources and resolves complex nested service chains directly within request handlers. It further organizes API development through class-based controllers
Processes incoming requests and outgoing responses through a series of layered middleware wrappers for cross-cutting concerns.
page.js is a client-side JavaScript router for single-page applications that maps URL patterns to executable functions. It functions as a navigation engine and browser history manager, implementing a middleware-based path-mapping system similar to the Express web framework. The library distinguishes itself through an Express-style router model, utilizing a middleware callback chain and a shared context object to pass data between navigation handlers. It supports advanced window management, allowing for multiple router instances to handle navigation independently across different windows or em
Implements an Express-style middleware chain to process navigation requests in sequence.
This project is a web framework performance benchmark suite and automated benchmarking orchestrator. It serves as a multi-language performance analysis tool designed to measure execution speed, throughput, and latency across various HTTP libraries and programming ecosystems. The system functions as an HTTP framework comparison tool that evaluates relative efficiency using consistent hardware and request patterns. It automates the build, deployment, and execution cycles necessary to collect stable performance data and compute metrics such as error rates and latency percentiles. The suite eval
Implements a sequence of logic wrappers to process HTTP requests and responses sequentially.
Lura is an API gateway and traffic router that directs network requests to backend services using a configurable pipeline of processing steps. It functions as a backend load balancer and a request middleware engine designed to validate, modify, and transform incoming requests and responses. The system specializes in API response aggregation, allowing it to execute concurrent requests to multiple backend services and merge the results into a single unified output. This includes the ability to perform dynamic response mapping by renaming fields and filtering data to optimize the final client pa
Processes incoming requests through a configurable sequence of middleware wrappers for transformation and validation.
OpenWeChat ist ein Go-SDK und API-Wrapper, der für die Integration von WeChat-Messaging und Account-Management in Go-Anwendungen entwickelt wurde. Es dient als Bot-Framework und Messaging-Bibliothek für die Handhabung von Echtzeit-Chat-Ereignissen und programmatischen Interaktionen mit der Plattform. Das Projekt bietet ein umfassendes System für das Sitzungsmanagement, einschließlich QR-Code-Authentifizierung und der Persistenz von Sitzungs-Cookies im JSON-Format, um den Zugriff über Neustarts hinweg aufrechtzuerhalten. Es zeichnet sich dadurch aus, dass es Funktionen zum Abfangen und Bewahren von Nachrichten bietet, die Absender zu widerrufen versuchen, sowie Unterstützung für das Multi-Account-Sitzungsmanagement. Die Bibliothek deckt ein breites Spektrum an Funktionsbereichen ab, einschließlich automatisierter Nachrichtenübermittlung und Antwortlogik, Kontakt- und Gruppenverwaltung sowie das Abrufen von Benutzerprofildaten. Sie enthält zudem Tools für die Medienhandhabung, wie z. B. das Herunterladen geteilter Dateien und die Identifizierung von Inhaltstypen durch Dateikopf-Analyse. Das SDK implementiert ein Middleware-basiertes Nachrichten-Chaining-System und nutzt Polling-basierte Ereigniserkennung, um eingehende Daten zu synchronisieren.
Passes incoming data through a sequence of handler functions to execute conditional logic or halt processing.
Hono ist ein minimales JavaScript-HTTP-Framework, das für den Aufbau von Webservern über mehrere Runtimes hinweg entwickelt wurde, einschließlich Node.js, Edge-Runtimes und Serverless-Plattformen. Es fungiert als Cross-Runtime-Webserver und Web-Standard-API-Wrapper, der verschiedene Runtime-Request- und Response-Objekte in Standard-Web-API-Signaturen normalisiert. Das Projekt dient als HTTP-Middleware-Orchestrator und Request-Handler, der eine Middleware-basierte Request-Pipeline und hierarchisches Routen-Mounting nutzt, um modulare Serverstrukturen zu erstellen. Es zeichnet sich durch einen Runtime-agnostischen Event-Wrapper aus, der konsistentes Verhalten unabhängig von der Bereitstellungsumgebung gewährleistet. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich HTTP-Request-Routing mit dynamischer Parametererfassung, Echtzeit-WebSocket-Kommunikation und umfassenden Sicherheitsmaßnahmen wie CORS-Management und Basic-Authentifizierung. Zudem bietet es Hilfsmittel für das Sitzungsmanagement via Cookies, statisches Asset-Serving und Traffic-Management durch Request-Proxying und URL-Weiterleitung. Das Projekt ist in TypeScript implementiert.
Implements an architectural pattern for processing requests and responses through sequential middleware pipelines.
This project is a Go programming language study guide and backend development course. It provides a collection of learning notes and practical examples covering fundamental syntax and core language concepts. The repository functions as a tutorial for building web APIs and network services. It includes implementation guides for the Gin web framework and code demonstrations for creating remote procedure call services using Protocol Buffers. The material covers backend API engineering, including routing, data binding, and error handling. It also includes examples of structured logging and custo
Implements architectural patterns for processing request and response pipelines using middleware.