25 dépôts
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 est un framework web Node.js minimaliste et un moteur de routage HTTP. Il fournit une implémentation de serveur à faible empreinte conçue pour une surcharge minimale, mappant les chemins d'URL et les méthodes HTTP à des fonctions de gestion spécifiques. Le projet utilise une architecture basée sur des middlewares, traitant les requêtes à travers une séquence de fonctions pour gérer des tâches telles que la journalisation, l'autorisation et la modification de données. Il permet l'organisation de ces fonctions en groupes globaux et filtrés par chemin pour contrôler l'ordre d'exécution. Le framework couvre les capacités web essentielles, notamment l'extraction de paramètres de route, l'analyse d'URL de requête avec mémoïsation et la gestion des réponses 404. Il inclut également un système centralisé de gestion des erreurs pour intercepter les exceptions levées dans la chaîne de middleware. Les utilisateurs peuvent démarrer un nouveau serveur HTTP sur un port spécifique ou attacher le gestionnaire de requête à une instance de serveur existante.
Restrict specific middleware functions to execute only when a request matches a defined base pathname.
Swashbuckle.AspNetCore est un outil de spécification d'API et un générateur de documentation pour ASP.NET Core. Il extrait les métadonnées du code source et des modèles pour produire des spécifications OpenAPI standardisées et des interfaces de navigateur interactives pour explorer et tester les API web. Le projet intègre un composant middleware pour servir ces spécifications et une interface Swagger UI pour le test d'API interactif directement depuis une application en cours d'exécution. Il fournit également un exportateur en ligne de commande pour extraire les fichiers de spécification des assemblages d'application pour une utilisation dans les pipelines CI/CD. L'outil couvre un large éventail de capacités incluant la gestion de schéma pour les types complexes, l'annotation de métadonnées via des attributs et des commentaires XML, et la configuration de sécurité pour OAuth 2.0 et les clés API. Il prend en outre en charge la gestion de contrat d'API, le versionnage de spécification et des pipelines de génération personnalisables pour filtrer ou modifier les opérations.
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 est un framework HTTP JavaScript minimal conçu pour construire des serveurs web à travers de multiples runtimes, incluant Node.js, les runtimes edge et les plateformes serverless. Il fonctionne comme un serveur web cross-runtime et un wrapper d'API web standard, normalisant divers objets de requête et réponse en signatures Web API standards. Le projet sert d'orchestrateur de middleware HTTP et de gestionnaire de requêtes, utilisant un pipeline de requêtes basé sur des middlewares et un montage de routes hiérarchique pour créer des structures de serveur modulaires. Il se distingue par un wrapper d'événements agnostique au runtime qui assure un comportement cohérent quel que soit l'environnement de déploiement. Le framework couvre un large éventail de capacités, incluant le routage de requêtes HTTP avec capture de paramètres dynamiques, la communication WebSocket en temps réel et des mesures de sécurité complètes comme la gestion CORS et l'authentification basique. Il fournit également des utilitaires pour la gestion de session via cookies, le service d'assets statiques et la gestion du trafic via proxy de requêtes et redirection d'URL. Le projet est implémenté en TypeScript.
Allows registration of middleware that executes for every incoming request to handle cross-cutting concerns.
ihp est un framework web typé et un orchestrateur d'applications full-stack conçu pour PostgreSQL. Il fonctionne comme un framework de rendu côté serveur et un ORM typé qui génère automatiquement des types d'enregistrements à partir de schémas SQL pour garantir la validation des requêtes à la compilation. La plateforme se distingue en vérifiant le routage, les requêtes de base de données et les modèles (templates) au moment de la compilation pour éviter les plantages à l'exécution. Elle implémente des interfaces web en temps réel utilisant les WebSockets pour une synchronisation instantanée des données et emploie l'hypermédia piloté par le serveur pour la mise à jour partielle du DOM. Le framework couvre un large éventail de capacités intégrées, incluant la gestion de l'identité utilisateur avec support des passkeys et OAuth, une couche de stockage de données complète avec migrations automatisées, et un système de rendu d'interface utilisateur complet avec templating HTML typé. Il fournit également des outils intégrés pour le développement d'API JSON, l'exécution de tâches asynchrones en arrière-plan et l'intégration financière pour les passerelles de paiement. Les environnements de production sont gérés via un déploiement NixOS déclaratif pour une infrastructure reproductible.
Provides a system for integrating reusable middleware components to extend application functionality.
Wretch est une bibliothèque de client HTTP chaînable et un wrapper Fetch API conçu pour simplifier la configuration des requêtes réseau, l'analyse des réponses et la gestion des erreurs. Il fonctionne comme un gestionnaire de requêtes réseau et un framework de middleware pour gérer le cycle de vie de bout en bout des appels HTTP. Le projet se distingue par une interface fluide pour la configuration des requêtes et un système d'extension modulaire. Il utilise un résolveur de réponse programmable pour automatiser l'analyse et une architecture basée sur des plugins pour ajouter de nouvelles capacités aux objets de requête et de réponse. La bibliothèque couvre un large éventail de capacités opérationnelles, notamment les tentatives de requête automatiques avec recul exponentiel, la mise en cache des réponses et la déduplication des requêtes. Il fournit des outils pour la sérialisation dynamique des charges utiles, la validation du schéma de réponse et un pipeline de middleware pour la transformation globale des données et la surveillance des requêtes. Les fonctionnalités de sécurité incluent la prise en charge de l'authentification de base et le rafraîchissement automatique des jetons. La bibliothèque prend en charge des implémentations de fetch personnalisées pour assurer la compatibilité entre différents environnements.
Modifies the structure or casing of data sent to or received from an API globally via middleware.
Sofa-boot est un framework d'application Java modulaire et une extension Spring Boot conçue pour isoler les modules d'application dans des contextes d'exécution séparés. Il fournit un orchestrateur de services JVM pour publier et référencer des services internes et une couche d'intégration de middleware d'entreprise pour déployer des starters middleware autonomes. Le framework évite les conflits de beans, de configuration et de version de dépendances en utilisant des chargeurs de classes indépendants et un arbre hiérarchique de contextes d'exécution distincts. Il optimise les temps de démarrage des applications d'entreprise en chargeant les modules indépendants en parallèle et en initialisant les composants de manière asynchrone. Le système inclut un vérificateur de préparation d'application qui bloque le trafic réseau externe et l'enregistrement de services jusqu'à ce que tous les composants soient entièrement initialisés. Il gère également l'orchestration de services en convertissant la communication interne des modules en appels de services distants et découple les flux de journalisation du middleware et du SDK des logs principaux de l'application.
Uses self-contained configuration modules to automatically deploy and manage middleware services through a unified interface.
opennextjs-aws est un adaptateur d'infrastructure serverless et un outil de déploiement qui transforme les artefacts de build Next.js en paquets compatibles pour l'hébergement sur AWS Lambda et S3. Il fonctionne comme un adaptateur de déploiement qui mappe les sorties spécifiques au framework vers des fonctions serverless et du stockage d'objets. Le projet se distingue par l'implémentation d'optimisations spécifiques au serverless, y compris un gestionnaire de cache qui synchronise la régénération statique incrémentale et les caches de récupération (fetch) via S3 ou DynamoDB. Il dispose d'un optimiseur de démarrage à froid (cold start) qui utilise la minification de bundle et le réchauffement programmé des fonctions pour réduire la latence, ainsi qu'un pipeline d'optimisation d'images dédié pour récupérer les fichiers sources depuis S3 et les distribuer via CDN. Le système couvre un large éventail de capacités, y compris l'intégration de middleware edge, la revalidation en arrière-plan basée sur des files d'attente et la distribution de routes multi-cibles. Il gère également le trafic via le routage CDN, l'injection de données de géolocalisation et le streaming de réponses serveur pour améliorer le temps jusqu'au premier octet (TTFB). L'outil fournit des options de personnalisation étendues pour les pipelines de build, les comportements des adaptateurs et la logique serveur afin de prendre en charge des besoins architecturaux variés et des structures monorepo.
Decouples routing and middleware logic into a standalone edge function to reduce latency.