25 repositorios
Reusable logic components that execute globally or on specific routes to extend application functionality.
Distinguishing note: General purpose middleware execution distinct from specific pipeline architectures.
Explore 25 awesome GitHub repositories matching web development · Middleware. Refine with filters or upvote what's useful.
Video.js is a customizable HTML5 video player framework and JavaScript media plugin system. It provides a foundation for rendering and controlling web video playback across different devices and screen sizes, supporting both standard HTML5 integration and adaptive bitrate streaming for live or on-demand content. The project is distinguished by a modular architecture that allows for the extension of playback functionality through a class-based plugin system and middleware-based method interception. This enables the development of tailored media interfaces and the integration of specialized beh
Uses middleware to wrap and modify getters and setters for controlling property updates.
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
Allows bundling multiple functions into reusable middleware groups to simplify application logic configuration.
Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web services. It provides a centralized environment for mapping network requests to handler functions, utilizing a fast radix-tree routing engine to ensure efficient request dispatching. The framework is built around a modular, middleware-centric pipeline that allows developers to execute reusable logic for cross-cutting concerns like authentication, logging, and security across the entire application. What distinguishes Echo is its focus on developer productivity through structured da
Executes reusable logic globally or on specific routes to extend application functionality.
Redux-Saga is a middleware library for Redux applications that manages asynchronous data flows and complex side effects. It serves as a decoupled state management effect layer and workflow orchestrator, utilizing JavaScript generator functions to pause and resume asynchronous operations without blocking the application. The library distinguishes itself by using generators to manage sequential or parallel tasks and state transitions outside of the main user interface thread. This approach allows for the coordination of complex asynchronous workflows, such as multi-step data fetching and API ca
Utilizes a system where generators yield descriptive effect objects that are executed by a central coordinator to ensure testability.
Redux-Saga is a middleware for managing complex asynchronous flows and side effects in Redux applications. It functions as an asynchronous state orchestrator and side effect manager that uses JavaScript generator functions to coordinate concurrent tasks and long-running background processes tied to a global state store. The system utilizes a generator-based effect middleware to handle external I/O and API requests outside of the main application logic. It provides a mechanism to start, pause, and cancel multiple asynchronous operations, allowing the application to prevent race conditions and
Intersects Redux actions to dispatch effect objects that are executed by the middleware and fed back into generators.
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 web requests with reusable logic like logging, compression, or security headers.
Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as a production-ready ASGI web server, utilizing a non-blocking event loop to handle concurrent requests and maximize throughput. The framework is built to support scalable architectures, offering built-in worker process management to distribute traffic across available CPU cores. What distinguishes Sanic is its focus on modularity and developer-centric tooling. It features a blueprint-based system for organizing complex applications into pluggable components, alongside a robust
Allows wrapping endpoints with middleware logic to enforce cross-cutting concerns like authentication or logging.
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
Provides modular middleware components for intercepting and processing network requests within the framework.
Sinatra is a lightweight web framework for the Ruby programming language designed for building web applications and services. It provides a domain-specific language that maps HTTP verbs and URL patterns directly to executable code blocks, allowing developers to define routes and handle incoming network requests with minimal boilerplate. The framework distinguishes itself through a modular architecture that relies on a middleware pipeline to process, modify, or terminate connections. This design allows for the integration of external functionality by mixing modules into the core request-handli
Extends core functionality by plugging in reusable components to handle tasks like logging or authentication.
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
Allows registration of middleware that runs globally across all routes to handle cross-cutting concerns.
Waku is a minimal React framework built around React Server Components. It renders components exclusively on the server for data fetching and server-side logic, then hydrates client components in the browser for interactivity. The framework supports hybrid rendering, mixing static prerendering at build time with dynamic per-request rendering within a single application, and allows independently loading slice components that can be static or dynamic. The framework distinguishes itself through its file-based routing system that defines pages, layouts, and API endpoints by placing files in a dir
Registers middleware functions that run on every request for cross-cutting concerns like logging.
Timber is a PHP library that integrates the Twig template engine into WordPress themes, providing an object-oriented framework for theme development. It wraps WordPress data — posts, terms, users, menus, and comments — in structured PHP classes, allowing developers to work with objects instead of raw arrays while keeping HTML markup separate from PHP logic through Twig templates. The library distinguishes itself by offering a complete set of tools for modern WordPress theme building. It includes a file-based template hierarchy with fallback chains, dynamic image manipulation with resizing, cr
Adds menus to the global template context so they are available on every page without repeated initialization.
Polka es un framework web minimalista para Node.js y motor de enrutamiento HTTP. Proporciona una implementación de servidor de pequeña huella diseñada para una baja sobrecarga, mapeando rutas de URL y métodos HTTP a funciones de manejo específicas. El proyecto utiliza una arquitectura basada en middleware, procesando solicitudes a través de una secuencia de funciones para manejar tareas como el registro (logging), la autorización y la modificación de datos. Permite la organización de estas funciones en grupos globales y filtrados por ruta para controlar el orden de ejecución. El framework cubre capacidades web básicas, incluyendo la extracción de parámetros de ruta, el análisis de URL de solicitud con memorización y la gestión de respuestas 404. También incluye un sistema centralizado de manejo de errores para capturar excepciones lanzadas dentro de la cadena de middleware. Los usuarios pueden arrancar un nuevo servidor HTTP en un puerto específico o adjuntar el manejador de solicitudes a una instancia de servidor existente.
Restrict specific middleware functions to execute only when a request matches a defined base pathname.
Swashbuckle.AspNetCore es una herramienta de especificación de API y generador de documentación para ASP.NET Core. Extrae metadatos del código fuente y modelos para producir especificaciones OpenAPI estandarizadas e interfaces de navegador interactivas para explorar y probar APIs web. El proyecto integra un componente de middleware para servir estas especificaciones y una Swagger UI para pruebas interactivas de API directamente desde una aplicación en ejecución. También proporciona un exportador de línea de comandos para extraer archivos de especificación de ensamblados de aplicaciones para su uso en pipelines de CI/CD. La herramienta cubre una amplia gama de capacidades, incluyendo la gestión de esquemas para tipos complejos, anotación de metadatos mediante atributos y comentarios XML, y configuración de seguridad para OAuth 2.0 y claves API. Soporta además la gestión de contratos de API, versionado de especificaciones y pipelines de generación personalizables para filtrar o modificar operaciones.
Integrates as middleware to serve API specifications and interactive user interfaces directly from the running application.
ZenML is an extensible machine learning orchestration framework designed to manage the end-to-end lifecycle of data pipelines and AI agent workflows. It functions as a durable orchestrator that executes machine learning tasks as directed acyclic graphs, ensuring that every step is containerized for consistent performance across local, cloud, and hybrid infrastructure. By decoupling pipeline code from underlying compute and storage backends, the platform allows developers to define infrastructure-agnostic stacks that remain portable across diverse environments. The project distinguishes itself
Enforces cross-cutting security and logging concerns across all pipeline endpoints using custom ASGI middleware.
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.
Allows registration of middleware that executes for every incoming request to handle cross-cutting concerns.
ihp es un framework web con tipado fuerte y orquestador de aplicaciones full-stack diseñado para PostgreSQL. Funciona como un framework de renderizado del lado del servidor y un ORM con tipado fuerte que genera automáticamente tipos de registro a partir de esquemas SQL para garantizar la validación de consultas en tiempo de compilación. La plataforma se distingue por verificar el enrutamiento, las consultas a la base de datos y las plantillas en tiempo de compilación para evitar errores en tiempo de ejecución. Implementa interfaces web en tiempo real utilizando WebSockets para la sincronización instantánea de datos y emplea hipermedia impulsada por el servidor para parches parciales del DOM. El framework cubre una amplia gama de capacidades integradas, incluyendo gestión de identidad de usuario con soporte para passkeys y OAuth, una capa completa de almacenamiento de datos con migraciones automatizadas y un sistema integral de renderizado de UI con plantillas HTML con tipado fuerte. También proporciona herramientas integradas para el desarrollo de API JSON, ejecución de tareas en segundo plano de forma asíncrona e integración financiera para pasarelas de pago. Los entornos de producción se gestionan mediante despliegue declarativo con NixOS para una infraestructura reproducible.
Provides a system for integrating reusable middleware components to extend application functionality.
Wretch es una biblioteca de cliente HTTP encadenable y envoltorio de Fetch API diseñado para simplificar la configuración de solicitudes de red, el análisis de respuestas y el manejo de errores. Funciona como un gestor de solicitudes de red y framework de middleware para gestionar el ciclo de vida de extremo a extremo de las llamadas HTTP. El proyecto se distingue por una interfaz fluida para la configuración de solicitudes y un sistema de extensión modular. Utiliza un resolvedor de respuestas programable para automatizar el análisis y una arquitectura basada en plugins para añadir nuevas capacidades a los objetos de solicitud y respuesta. La biblioteca cubre una amplia gama de capacidades operativas, incluyendo reintentos automáticos de solicitudes con retroceso exponencial, almacenamiento en caché de respuestas y deduplicación de solicitudes. Proporciona herramientas para la serialización dinámica de cargas útiles, validación de esquemas de respuesta y una tubería de middleware para la transformación global de datos y la monitorización de solicitudes. Las características de seguridad incluyen soporte de autenticación básica y actualización automática de tokens. La biblioteca admite implementaciones personalizadas de fetch para garantizar la compatibilidad en diferentes entornos.
Modifies the structure or casing of data sent to or received from an API globally via middleware.
Sofa-boot es un framework de aplicaciones Java modular y una extensión de Spring Boot diseñada para aislar módulos de aplicaciones en contextos de ejecución separados. Proporciona un orquestador de servicios JVM para publicar y referenciar servicios internos y una capa de integración de middleware empresarial para desplegar starters de middleware autónomos. El framework evita conflictos de versiones de beans, configuración y dependencias mediante el uso de cargadores de clases independientes y un árbol jerárquico de contextos de ejecución distintos. Optimiza los tiempos de inicio de aplicaciones empresariales cargando módulos independientes en paralelo e inicializando componentes de forma asíncrona. El sistema incluye un verificador de preparación de aplicaciones que bloquea el tráfico de red externo y el registro de servicios hasta que todos los componentes estén completamente inicializados. También gestiona la orquestación de servicios convirtiendo la comunicación interna de módulos en llamadas de servicio remotas y desacopla los flujos de registro de middleware y SDK de los registros principales de la aplicación.
Uses self-contained configuration modules to automatically deploy and manage middleware services through a unified interface.
opennextjs-aws es un adaptador de infraestructura serverless y herramienta de despliegue que transforma los artefactos de build de Next.js en paquetes compatibles para su alojamiento en AWS Lambda y S3. Funciona como un adaptador de despliegue que mapea las salidas específicas del framework a funciones serverless y almacenamiento de objetos. El proyecto se distingue por implementar optimizaciones específicas para serverless, incluyendo un gestor de caché que sincroniza la regeneración estática incremental y las cachés de fetch a través de S3 o DynamoDB. Cuenta con un optimizador de cold start que utiliza minificación de bundles y calentamiento programado de funciones para reducir la latencia, junto con un pipeline de optimización de imágenes dedicado para obtener archivos fuente de S3 y entregarlos a través de CDN. El sistema cubre una amplia gama de capacidades, incluyendo integración de middleware en el edge, revalidación en segundo plano basada en colas y distribución de rutas multi-objetivo. También gestiona el tráfico a través de enrutamiento CDN, inyección de datos de geolocalización y streaming de respuestas del servidor para mejorar el tiempo hasta el primer byte (TTFB). La herramienta proporciona amplias opciones de personalización para pipelines de build, comportamientos de adaptadores y lógica de servidor para soportar necesidades arquitectónicas variadas y estructuras de monorepo.
Decouples routing and middleware logic into a standalone edge function to reduce latency.