25 repositorios
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 es un kit de desarrollo de software (SDK) y envoltorio de API en lenguaje Go diseñado para integrar la mensajería y gestión de cuentas de WeChat en aplicaciones Go. Sirve como framework de bots y biblioteca de mensajería para manejar eventos de chat en tiempo real e interacciones programáticas con la plataforma. El proyecto proporciona un sistema integral para la gestión de sesiones, incluyendo autenticación mediante código QR y la persistencia de cookies de sesión en formato JSON para mantener el acceso tras reinicios. Se distingue por ofrecer capacidades para interceptar y preservar mensajes que los remitentes intentan revocar, así como soporte para la gestión de sesiones multi-cuenta. La biblioteca cubre una amplia gama de áreas funcionales, incluyendo lógica de entrega y respuesta automática de mensajes, gestión de contactos y grupos, y recuperación de datos de perfil de usuario. También incluye herramientas para el manejo de medios, como la descarga de archivos compartidos e identificación de tipos de contenido mediante análisis de cabeceras de archivo. El SDK implementa un sistema de encadenamiento de mensajes basado en middleware y utiliza detección de eventos basada en polling para sincronizar los datos entrantes.
Passes incoming data through a sequence of handler functions to execute conditional logic or halt processing.
Hono es un framework HTTP minimalista en JavaScript diseñado para construir servidores web a través de múltiples runtimes, incluyendo Node.js, runtimes de edge y plataformas serverless. Funciona como un servidor web cross-runtime y un wrapper de API estándar web, normalizando varios objetos de petición y respuesta de runtime en firmas de Web API estándar. El proyecto sirve como orquestador de middleware HTTP y manejador de peticiones, utilizando un pipeline de peticiones basado en middleware y montaje jerárquico de rutas para crear estructuras de servidor modulares. Se distingue por un wrapper de eventos agnóstico al runtime que garantiza un comportamiento consistente independientemente del entorno de despliegue. El framework cubre una amplia gama de capacidades, incluyendo enrutamiento de peticiones HTTP con captura de parámetros dinámicos, comunicación WebSocket en tiempo real y medidas de seguridad integrales como gestión de CORS y autenticación básica. También proporciona utilidades para la gestión de sesiones mediante cookies, servicio de activos estáticos y gestión de tráfico mediante proxy de peticiones y redirección de URL. El proyecto está implementado en TypeScript.
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.